Как добавить существующий класс в вывод Spoon? - PullRequest
0 голосов
/ 29 марта 2019

У меня есть простое приложение 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)

Все это прекрасно работает, но я бы хотел добавить пару классов, которые я определил в своем проекте, к выводу ложки.Я могу получить ссылку на класс:

val ctClass = launcher.factory.Class().get<MyClass>(MyClass::class.java)

Но я не знаю, как получить ложку для вывода файла MyClass.java в вывод.Я попытался добавить его к типам с помощью:

launcher.model.allTypes.add(ctClass)

и попытался клонировать его с помощью:

launcher.factory.Core().clone(ctClass)

, но ни один из них не дал никакого эффекта.Возможно ли это сделать?

...