Intellij Idea插件:什么方法调用来解决Kotlin参考
我在Java和Kotlin文件中为Kotlin编写了一个Intellij插件。 以下代码适用于Java文件:
val node: ASTNode .... val referencedFieldElement = node.psi.reference!!.resolve()
但是它不适用于Kotlin文件,因为没有resolve()方法调用,node.psi.reference返回null。
你如何解决Kotlin的参考?
另外我有一个PsiElement
Kotlin参考。 我如何解决它的价值?
这里是一些代码:
class KotlinFoldingBuilder : FoldingBuilderEx() { override fun buildFoldRegions(root: PsiElement, document: Document, quick: Boolean): Array { .... } override fun getPlaceholderText(node: ASTNode): String? { val referencedFieldElement = node.psi.reference!!.resolve() return referencedFieldElement } override fun isCollapsedByDefault(node: ASTNode): Boolean { return true } }
node.psi.reference!!.resolve()
适用于Java文件,但适用于Kotlin文件node.psi.reference
返回null。