我有一个使用勺子库的简单kotlin应用程序。我将其指向一个目录,它将读取该树中的所有Java源代码,构建一个模型,然后浏览并删除所有JAXB注释。
然后我将修改后的代码写到一个单独的目录中
val launcher = Launcher()
// gobble up all source files recursively and build the model
launcher.addInputResource(path.absolutePath)
launcher.buildModel()
... processing ...
launcher.environment.isAutoImports = true
launcher.setSourceOutputDirectory("generated")
launcher.modelBuilder.generateProcessedSourceFiles(OutputType.CLASSES)
这一切都很好,但是我想将我在项目中定义的几个类添加到spoon输出中。我可以通过以下方式获得对该类的引用:
val ctClass = launcher.factory.Class().get<MyClass>(MyClass::class.java)
但是我不知道如何在输出中获得汤匙以产生MyClass.java
文件。我尝试使用以下方法将其添加到类型中:
launcher.model.allTypes.add(ctClass)
并且我尝试用以下方法克隆它:
launcher.factory.Core().clone(ctClass)
,但没有任何作用。可以这样做吗?