获取TypeElement内部和注释处理器的类名

Pie*_*rre 5 java annotations processor javac

我正在编写一个在javac中运行的注释处理器.它扫描带注释的类并生成包含类名的资源文件.这些名称将在运行时使用,以便能够得到Class<?>感谢Class.forName(String).

如何从a获取类名(例如pgk1.pkg2.Foo $ Bar)javax.lang.model.element.TypeElement.

提示:我既不需要简单的名称(例如Bar),也不需要限定名称(例如pgk1.pkg2.Foo.Bar).

Pie*_*rre 7

注释处理器由编译初始化并接收ProcessingEnvironment实例.

该方法Name ProcessingEnvironment.getElementUtils().getBinaryName(TypeElement)返回一个二进制名称,可用于稍后实例化该类.