[AA] approximate inplace type parameters bounds

^ KTIJ-27211 fixed
This commit is contained in:
Anna Kozlova
2023-10-23 15:15:22 +02:00
committed by Space Team
parent f37f1e6d91
commit 5cac013d8c
17 changed files with 420 additions and 2 deletions
@@ -0,0 +1,38 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.symbolDeclarationRenderer
import org.jetbrains.kotlin.analysis.api.renderer.declarations.impl.KtDeclarationRendererForDebug.WITH_QUALIFIED_NAMES_DENOTABLE
import org.jetbrains.kotlin.analysis.api.symbols.KtDeclarationSymbol
import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiSingleFileTest
import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider
import org.jetbrains.kotlin.analysis.test.framework.utils.executeOnPooledThreadInReadAction
import org.jetbrains.kotlin.idea.references.mainReference
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.psi.KtReferenceExpression
import org.jetbrains.kotlin.test.model.TestModule
import org.jetbrains.kotlin.test.services.TestServices
import org.jetbrains.kotlin.test.services.assertions
abstract class AbstractSymbolRenderingByReferenceTest : AbstractAnalysisApiSingleFileTest() {
override fun doTestByFileStructure(
ktFile: KtFile,
module: TestModule,
testServices: TestServices,
) {
val renderedString = executeOnPooledThreadInReadAction {
analyseForTest(ktFile) {
val referenceExpression = testServices.expressionMarkerProvider.getElementOfTypeAtCaret<KtReferenceExpression>(ktFile)
val ktSymbol = referenceExpression.mainReference.resolveToSymbol()
testServices.assertions.assertNotNull(ktSymbol)
testServices.assertions.assertTrue(ktSymbol is KtDeclarationSymbol)
(ktSymbol as KtDeclarationSymbol).render(WITH_QUALIFIED_NAMES_DENOTABLE)
}
}
testServices.assertions.assertEqualsToTestDataFileSibling(renderedString)
}
}
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.utils.addIfNotNull
import kotlin.test.fail
abstract class AbstractSymbolTest : AbstractAnalysisApiSingleFileTest() {
private val defaultRenderer = KtDeclarationRendererForDebug.WITH_QUALIFIED_NAMES
open val defaultRenderer = KtDeclarationRendererForDebug.WITH_QUALIFIED_NAMES
open val defaultRendererOption: PrettyRendererOption? = null