java编译器源码解析-语义分析-去除语法糖


去除语法糖分为三个阶段的内容,分别是:

TRANSTYPES, //泛型擦除

UNLAMBDA, //lambda表达式转换成方法

LOWER, //内部类、foreach循环、断言等

核心的逻辑分别对应到三个类:

com.sun.tools.javac.comp.TransTypes
com.sun.tools.javac.comp.LambdaToMethod
com.sun.tools.javac.comp.Lower