我正在写一个Gradle插件,它需要扫描Kotlin文件,并找到类中是否包含特定的接口。例如,使用以下代码片段:
class MyClass {
    interface MyInterface {
        fun doSomething()
    }
}我的插件将在控制台上打印找到接口MyInterface的信息,并显示以下代码片段:
class MySecondClass {}不会打印任何东西。
我已经成功地创建了插件结构和类似这样的DefaultTask,其中我从用户输入(用Kotlin编写)中获取需要检查的文件:
open class MyGradleTas : DefaultTask() {
    @InputFile lateinit var inputFile: File
    @OutputDirectory lateinit var outputDirectory: File
    @TaskAction
    fun run() {
        // How can I inspect the Java/Kotlin code inside the inputFile object
    }
}如何检查inputFile文件对象?有没有办法把它转换成UAST或PSI?如果是这样的话,是怎么做的?
https://stackoverflow.com/questions/50766462
复制相似问题