一、概述

二、实现

代码生成的过程由代码生成器(CodeGenerator)完成,CodeGenerator 是一个基类,对外提供生成代码的接口是 $generate()$

经过 CodeGenerator 类生成后的代码,由其伴生对象提供的 $compile()$ 方法进行编译,得到 GeneratedClass 的子类。GeneratedClass 仅仅起到封装生成类的作用,在具体应用时会调用 $generate()$ 方法显示地强制转换得到生成的类。