11package com.github.ceclin.bdlh.lang
22
3+ import com.github.ceclin.bdlh.jvmCanonicalText
34import com.intellij.openapi.util.TextRange
45import com.intellij.psi.*
56import com.intellij.psi.util.ClassUtil
6- import com.intellij.psi.util.TypeConversionUtil
77
88fun getReference (bdlSignature : BDLSignature ): PsiReference = RefToJava (bdlSignature)
99
@@ -23,8 +23,7 @@ class RefToJava(element: BDLSignature) : PsiReferenceBase<BDLSignature>(element,
2323 ! it.hasParameters()
2424 else {
2525 it.parameterList.parameters.joinToString(" ," ) { p ->
26- val type = TypeConversionUtil .erasure(p.type)
27- type.deepComponentType.canonicalText + " []" .repeat(type.arrayDimensions)
26+ p.type.jvmCanonicalText.toString()
2827 } == parameter.text
2928 }
3029 }
@@ -34,8 +33,7 @@ class RefToJava(element: BDLSignature) : PsiReferenceBase<BDLSignature>(element,
3433 override fun resolve (): PsiElement ? {
3534 val project = element.project
3635 val className = element.className.text
37- // I don't know what jvmCompatible means. No document for this param.
38- val clazz = ClassUtil .findPsiClass(PsiManager .getInstance(project), className, null , true )
36+ val clazz = ClassUtil .findPsiClassByJVMName(PsiManager .getInstance(project), className)
3937 ? : return null
4038 element.field?.let { return resolveField(clazz, it) }
4139 element.method?.let { return resolveMethod(clazz, it) }
0 commit comments