我正在我的项目中写一个ASTTransformation
(用 JAVA 语言)Grails
。
因为我想基于另一个类来转换带注释的类,所以我需要加载另一个类并分析它AST
。
但是我没有成功加载另一个类:
Class.forName("OtherClass") -> ClassNotFoundException
Class.forName("OtherClass", false, classNode.getClassLoader()) -> ClassNotFoundException
OtherClass.class -> ClassNotFoundException
它认为因为它AST
本身是在编译时执行的,所以另一个类还不可用。
也许有可能在 my 中获取另一个类的来源,ASTTransformation
然后AST
用
new AstBuilder().buildFromCode { ... }
或类似的东西。
但是如何加载资源/代码?