[AA LC] Approximate anonymous type to single supertype if possible
^KT-55780 Fixed ^KT-55778 Fixed
This commit is contained in:
committed by
Space Team
parent
935b4f2feb
commit
3a536bb32f
+10
-4
@@ -14,11 +14,11 @@ import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerPro
|
||||
import org.jetbrains.kotlin.analysis.test.framework.utils.executeOnPooledThreadInReadAction
|
||||
import org.jetbrains.kotlin.psi.KtDeclaration
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.KtPsiUtil
|
||||
import org.jetbrains.kotlin.test.services.TestModuleStructure
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
import org.jetbrains.kotlin.test.services.assertions
|
||||
import org.jetbrains.kotlin.types.Variance
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||
|
||||
abstract class AbstractAnalysisApiPsiTypeProviderTest : AbstractAnalysisApiBasedTest() {
|
||||
override fun doTestByModuleStructure(moduleStructure: TestModuleStructure, testServices: TestServices) {
|
||||
@@ -26,9 +26,14 @@ abstract class AbstractAnalysisApiPsiTypeProviderTest : AbstractAnalysisApiBased
|
||||
val ktFiles = testServices.ktModuleProvider.getModuleFiles(module).filterIsInstance<KtFile>()
|
||||
testServices.expressionMarkerProvider.getElementsOfTypeAtCarets<KtDeclaration>(ktFiles)
|
||||
}.single()
|
||||
val containingClass = getContainingKtLightClass(declaration, ktFile)
|
||||
val psiContext = containingClass.findLightDeclarationContext(declaration)
|
||||
?: error("Can't find psi context for $declaration")
|
||||
|
||||
val psiContext = if (KtPsiUtil.isLocal(declaration)) {
|
||||
declaration
|
||||
} else {
|
||||
val containingClass = getContainingKtLightClass(declaration, ktFile)
|
||||
containingClass.findLightDeclarationContext(declaration) ?: error("Can't find psi context for $declaration")
|
||||
}
|
||||
|
||||
val actual = buildString {
|
||||
executeOnPooledThreadInReadAction {
|
||||
analyze(declaration) {
|
||||
@@ -38,6 +43,7 @@ abstract class AbstractAnalysisApiPsiTypeProviderTest : AbstractAnalysisApiBased
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user