Booster 静态分析

1 · Johnson Lee · March 21, 2020, midnight
最近一直在优化 booster-task-analyser ,一方面是功能特性的完善,另一方面是性能的优化,在此之前,静态分析的工作是由 booster-transform-lint 完成的,虽然已经很早就开源了这个模块,但是对静态分析的结果一直不是很满意,加上其它一些方面的考虑,索性重写一个,所以就有了 booster-task-analyser,用来替代 booster-transform-lint。 重新设计静态分析模块主要是基于几个方面的考虑: 对应用进行静态分析的频率不像构建那么频繁,所以,Task 比 Transformer 更合适; CHA (Class Hierarchy Analysis) 需要提前拿到所有类信息,而 Transformer 是流水线处理,也不太合适; 静态分析的过程可能会比较慢,作为 Transformer 可能会严重影响构建效率,而且应用的构建并不依赖静态分析的产出物; 所以,booster-task-analyser 基于 Task 来实现: digraph analyser { node [shape=rect,fillcolor="#...