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
source share