Intellij Idea plugin: what method calls to resolve a Kotlin link

I am writing an Intellij plugin in Kotlin for Java and Kotlin files. The following code works for Java files:

val node: ASTNode .... val referencedFieldElement = node.psi.reference!!.resolve() 

But this does not work for Kotlin files, because there is no call to the resol () method, and node.psi.reference returns zero.

How do you solve the Kotlin link?

Also I have PsiElement on PsiElement Kotlin. How can I solve this value?

Here is some code:

 class KotlinFoldingBuilder : FoldingBuilderEx() { override fun buildFoldRegions(root: PsiElement, document: Document, quick: Boolean): Array<FoldingDescriptor> { .... } 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() works for a Java file, but for Kotlin files. node.psi.reference returns node.psi.reference .

A potential answer to this question can be found here https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000795610-What-s-the-methed-call-to-Resolve-a- Kotlin link

+7
source share

Source: https://habr.com/ru/post/1274525/


All Articles