Fix KotlinShortNamesCacheTest to not use clsDelegate

This commit is contained in:
Igor Yakovlev
2019-04-29 17:06:10 +03:00
parent ab852750cc
commit 9870585eb8
@@ -6,10 +6,12 @@
package org.jetbrains.kotlin.idea.caches package org.jetbrains.kotlin.idea.caches
import com.intellij.psi.PsiField import com.intellij.psi.PsiField
import com.intellij.psi.PsiMember
import com.intellij.psi.PsiMethod import com.intellij.psi.PsiMethod
import com.intellij.psi.PsiModifier import com.intellij.psi.PsiModifier
import com.intellij.psi.search.GlobalSearchScope import com.intellij.psi.search.GlobalSearchScope
import com.intellij.psi.search.PsiShortNamesCache import com.intellij.psi.search.PsiShortNamesCache
import com.intellij.psi.util.PsiUtil
import com.intellij.testFramework.LightProjectDescriptor import com.intellij.testFramework.LightProjectDescriptor
import com.sun.tools.javac.util.Convert.shortName import com.sun.tools.javac.util.Convert.shortName
import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.asJava.elements.KtLightField
@@ -84,16 +86,18 @@ class KotlinShortNamesCacheTest : KotlinLightCodeInsightFixtureTestCase() {
assertContainsElements(allClassNameList, "O1") assertContainsElements(allClassNameList, "O1")
} }
fun PsiMember.fqName() = PsiUtil.getMemberQualifiedName(this)
fun methodArrayDebugToString(a: Array<PsiMethod>) fun methodArrayDebugToString(a: Array<PsiMethod>)
= a.map { "${(it as KtLightMethod).clsDelegate.getKotlinFqName()} static=${it.hasModifierProperty(PsiModifier.STATIC)}" }.joinToString("\n") = a.map { "${(it as KtLightMethod).getKotlinFqName()} static=${it.hasModifierProperty(PsiModifier.STATIC)}" }.joinToString("\n")
fun accessorArrayDebugToString(a: Array<PsiMethod>) fun accessorArrayDebugToString(a: Array<PsiMethod>)
= a.map { "${(it as KtLightMethod).clsDelegate.getKotlinFqName()} property=${(it.lightMemberOrigin?.originalElement as KtProperty).fqName} static=${it.hasModifierProperty(PsiModifier.STATIC)}" }.joinToString("\n") = a.map { "${(it as KtLightMethod).fqName()} property=${(it.lightMemberOrigin?.originalElement as KtProperty).fqName} static=${it.hasModifierProperty(PsiModifier.STATIC)}" }.joinToString("\n")
fun checkMethodFound(methods: Array<PsiMethod>, stringFqName: String, static: Boolean) { fun checkMethodFound(methods: Array<PsiMethod>, stringFqName: String, static: Boolean) {
assertNotNull("Method $stringFqName with static=$static not found\n" + methodArrayDebugToString(methods), assertNotNull("Method $stringFqName with static=$static not found\n" + methodArrayDebugToString(methods),
methods.find { methods.find {
stringFqName == (it as KtLightMethod).clsDelegate.getKotlinFqName().toString() stringFqName == (it as KtLightMethod).fqName().toString()
&& &&
it.hasModifierProperty(PsiModifier.STATIC) == static it.hasModifierProperty(PsiModifier.STATIC) == static
}) })
@@ -172,7 +176,7 @@ class KotlinShortNamesCacheTest : KotlinLightCodeInsightFixtureTestCase() {
fun checkAccessorFound(methods: Array<PsiMethod>, stringFqName: String, propertyFqName: String, static: Boolean) { fun checkAccessorFound(methods: Array<PsiMethod>, stringFqName: String, propertyFqName: String, static: Boolean) {
assertNotNull("Accessor $stringFqName property=$propertyFqName static=$static not found\n" + accessorArrayDebugToString(methods), assertNotNull("Accessor $stringFqName property=$propertyFqName static=$static not found\n" + accessorArrayDebugToString(methods),
methods.find { methods.find {
stringFqName == (it as KtLightMethod).clsDelegate.getKotlinFqName().toString() stringFqName == (it as KtLightMethod).fqName().toString()
&& &&
(it.lightMemberOrigin?.originalElement as KtProperty).fqName?.asString() == propertyFqName (it.lightMemberOrigin?.originalElement as KtProperty).fqName?.asString() == propertyFqName
&& &&
@@ -215,14 +219,14 @@ class KotlinShortNamesCacheTest : KotlinLightCodeInsightFixtureTestCase() {
fun checkFieldFound(methods: Array<PsiField>, stringFqName: String, static: Boolean) { fun checkFieldFound(methods: Array<PsiField>, stringFqName: String, static: Boolean) {
assertNotNull("Field $stringFqName with static=$static not found\n" + fieldArrayDebugToString(methods), assertNotNull("Field $stringFqName with static=$static not found\n" + fieldArrayDebugToString(methods),
methods.find { methods.find {
stringFqName == (it as KtLightField).clsDelegate.getKotlinFqName().toString() stringFqName == (it as KtLightField).fqName().toString()
&& &&
it.hasModifierProperty(PsiModifier.STATIC) == static it.hasModifierProperty(PsiModifier.STATIC) == static
}) })
} }
fun fieldArrayDebugToString(a: Array<PsiField>) fun fieldArrayDebugToString(a: Array<PsiField>)
= a.map { "${(it as KtLightField).clsDelegate.getKotlinFqName()} property=${(it.kotlinOrigin as KtProperty).fqName} static=${it.hasModifierProperty(PsiModifier.STATIC)}" }.joinToString("\n") = a.map { "${(it as KtLightField).fqName()} property=${(it.kotlinOrigin as KtProperty).fqName} static=${it.hasModifierProperty(PsiModifier.STATIC)}" }.joinToString("\n")
fun checkIsSingleFieldFound(scope: GlobalSearchScope, stringFqName: String, static: Boolean, query: String = shortName(stringFqName)) { fun checkIsSingleFieldFound(scope: GlobalSearchScope, stringFqName: String, static: Boolean, query: String = shortName(stringFqName)) {