Skip to content

Commit d6029c4

Browse files
committed
refactor: /lang/ImplExt.kt
Use util methods in ClassUtil and CommonExt. By the way, fix method navigation behavior when any of its param types is an inner class.
1 parent 8041256 commit d6029c4

File tree

1 file changed

+3
-5
lines changed
  • src/main/kotlin/com/github/ceclin/bdlh/lang

1 file changed

+3
-5
lines changed

src/main/kotlin/com/github/ceclin/bdlh/lang/ImplExt.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.github.ceclin.bdlh.lang
22

3+
import com.github.ceclin.bdlh.jvmCanonicalText
34
import com.intellij.openapi.util.TextRange
45
import com.intellij.psi.*
56
import com.intellij.psi.util.ClassUtil
6-
import com.intellij.psi.util.TypeConversionUtil
77

88
fun 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

Comments
 (0)