java编译器源码解析-语义分析-数据流分析

数据流分析flow(),对应Flow.analyzeTree()方法。

数据流分析分四个阶段,分别是活跃性分析、赋值分析、异常分析、本地变量捕获分析。

public void analyzeTree(Env<AttrContext> env, TreeMaker make) {
      new AliveAnalyzer().analyzeTree(env, make);
      new AssignAnalyzer().analyzeTree(env);
      new FlowAnalyzer().analyzeTree(env, make);
      new CaptureAnalyzer().analyzeTree(env, make);
  }

听起来高深莫测,其实每个都有固定的内容。只不过把我们平常代码检查的工作用代码实现了一遍。

 

 

 

posted @ 2022-04-15 15:13  Mars.wang  阅读(200)  评论(0编辑  收藏  举报