From 476940c06b426e9f17456961ca9cdfcbc3072c44 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Tue, 9 Jan 2024 15:41:03 +0100 Subject: [PATCH] [Analysis API test] get rid of AbstractAnalysisApiBasedSingleModuleTest ^KT-64805 --- .../callResolver/AbstractResolveCallTest.kt | 11 +++++----- .../AbstractResolveCandidatesTest.kt | 11 +++++----- .../AbstractAnalysisApiImportOptimizerTest.kt | 14 +++++------- .../AbstractFileImportingScopeContextTest.kt | 17 +++++++------- .../AbstractScopeContextForPositionTest.kt | 15 ++++++------- .../AbstractIsSubclassOfTest.kt | 12 +++++----- ...stractOverriddenDeclarationProviderTest.kt | 10 ++++----- .../AbstractReferenceImportAliasTest.kt | 12 +++++----- ...tractReferenceShortenerForWholeFileTest.kt | 18 +++++++-------- .../AbstractReferenceShortenerTest.kt | 11 +++++----- ...tPsiDeclarationProviderSingleModuleTest.kt | 15 ++++++------- ...bstractAnalysisApiBasedSingleModuleTest.kt | 22 ------------------- .../base/AbstractAnalysisApiSingleFileTest.kt | 9 ++++---- .../AbstractCompilationPeerAnalysisTest.kt | 16 ++++++-------- .../api/fir/AbstractContextCollectorTest.kt | 19 +++++++--------- .../symbol/base/AbstractLightClassUtilTest.kt | 14 ++++++------ ...bstractSymbolLightClassesEquivalentTest.kt | 11 +++++----- 17 files changed, 99 insertions(+), 138 deletions(-) delete mode 100644 analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiBasedSingleModuleTest.kt diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/callResolver/AbstractResolveCallTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/callResolver/AbstractResolveCallTest.kt index 4301262f706..86e4aee67db 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/callResolver/AbstractResolveCallTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/callResolver/AbstractResolveCallTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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. */ @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.callRe import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.calls.KtCallInfo import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.stringRepresentation -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider import org.jetbrains.kotlin.analysis.test.framework.utils.executeOnPooledThreadInReadAction import org.jetbrains.kotlin.psi.* @@ -16,10 +16,9 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractResolveCallTest : AbstractAnalysisApiBasedSingleModuleTest() { - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val ktFile = ktFiles.first() - val expression = testServices.expressionMarkerProvider.getSelectedElementOfType(ktFile) +abstract class AbstractResolveCallTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val expression = testServices.expressionMarkerProvider.getSelectedElementOfType(mainFile) val actual = executeOnPooledThreadInReadAction { analyseForTest(expression) { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/callResolver/AbstractResolveCandidatesTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/callResolver/AbstractResolveCandidatesTest.kt index 31318a7cdec..04cddb05492 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/callResolver/AbstractResolveCandidatesTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/callResolver/AbstractResolveCandidatesTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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. */ @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.calls.KtCallCandidateInfo import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.compareCalls import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.stringRepresentation -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider import org.jetbrains.kotlin.analysis.test.framework.utils.executeOnPooledThreadInReadAction import org.jetbrains.kotlin.psi.* @@ -18,10 +18,9 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractResolveCandidatesTest : AbstractAnalysisApiBasedSingleModuleTest() { - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val ktFile = ktFiles.first() - val expression = testServices.expressionMarkerProvider.getSelectedElementOfType(ktFile) +abstract class AbstractResolveCandidatesTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val expression = testServices.expressionMarkerProvider.getSelectedElementOfType(mainFile) val actual = executeOnPooledThreadInReadAction { analyseForTest(expression) { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/importOptimizer/AbstractAnalysisApiImportOptimizerTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/importOptimizer/AbstractAnalysisApiImportOptimizerTest.kt index 447405c205a..721e0966e64 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/importOptimizer/AbstractAnalysisApiImportOptimizerTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/importOptimizer/AbstractAnalysisApiImportOptimizerTest.kt @@ -1,22 +1,20 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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.importOptimizer -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractAnalysisApiImportOptimizerTest : AbstractAnalysisApiBasedSingleModuleTest(){ - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val mainKtFile = ktFiles.singleOrNull() ?: ktFiles.first { it.name == "main.kt" } - - val importsAnalysis = analyseForTest(mainKtFile) { - analyseImports(mainKtFile) +abstract class AbstractAnalysisApiImportOptimizerTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val importsAnalysis = analyseForTest(mainFile) { + analyseImports(mainFile) } val importAnalysisRendered = buildString { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractFileImportingScopeContextTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractFileImportingScopeContextTest.kt index 9bd693816a2..51c553ad03e 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractFileImportingScopeContextTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractFileImportingScopeContextTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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. */ @@ -9,7 +9,7 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.components.KtScopeContext import org.jetbrains.kotlin.analysis.api.components.KtScopeKind import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.scopeProvider.TestScopeRenderer.renderForTests -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.utils.printer.prettyPrint import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer @@ -17,13 +17,12 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractFileImportingScopeContextTest : AbstractAnalysisApiBasedSingleModuleTest() { - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val ktFile = ktFiles.first() - val renderDefaultImportingScope = Directives.RENDER_DEFAULT_IMPORTING_SCOPE in module.directives +abstract class AbstractFileImportingScopeContextTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val renderDefaultImportingScope = Directives.RENDER_DEFAULT_IMPORTING_SCOPE in mainModule.directives - analyseForTest(ktFile) { - val ktScopeContext = ktFile.getImportingScopeContext() + analyseForTest(mainFile) { + val ktScopeContext = mainFile.getImportingScopeContext() val scopeContextStringRepresentation = render(ktScopeContext, renderDefaultImportingScope) val scopeContextStringRepresentationPretty = render(ktScopeContext, renderDefaultImportingScope, printPretty = true) @@ -37,7 +36,7 @@ abstract class AbstractFileImportingScopeContextTest : AbstractAnalysisApiBasedS private fun render( importingScope: KtScopeContext, renderDefaultImportingScope: Boolean, - printPretty: Boolean = false + printPretty: Boolean = false, ): String = prettyPrint { renderForTests(importingScope, printPretty) { ktScopeKind -> when (ktScopeKind) { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractScopeContextForPositionTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractScopeContextForPositionTest.kt index d5238889d7a..53616f6cfdd 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractScopeContextForPositionTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractScopeContextForPositionTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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. */ @@ -9,7 +9,7 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.components.KtScopeContext import org.jetbrains.kotlin.analysis.api.components.KtScopeKind import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.components.scopeProvider.TestScopeRenderer.renderForTests -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider import org.jetbrains.kotlin.analysis.utils.printer.prettyPrint import org.jetbrains.kotlin.psi.KtElement @@ -18,13 +18,12 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractScopeContextForPositionTest : AbstractAnalysisApiBasedSingleModuleTest() { - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val ktFile = ktFiles.first() - val element = testServices.expressionMarkerProvider.getSelectedElementOfType(ktFile) +abstract class AbstractScopeContextForPositionTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val element = testServices.expressionMarkerProvider.getSelectedElementOfType(mainFile) analyseForTest(element) { elementToAnalyze -> - val scopeContext = ktFile.getScopeContextForPosition(elementToAnalyze) + val scopeContext = mainFile.getScopeContextForPosition(elementToAnalyze) val scopeContextStringRepresentation = renderForTests(elementToAnalyze, scopeContext) val scopeContextStringRepresentationPretty = renderForTests(elementToAnalyze, scopeContext, printPretty = true) @@ -37,7 +36,7 @@ abstract class AbstractScopeContextForPositionTest : AbstractAnalysisApiBasedSin private fun KtAnalysisSession.renderForTests( element: KtElement, scopeContext: KtScopeContext, - printPretty: Boolean = false + printPretty: Boolean = false, ): String = prettyPrint { appendLine("element: ${element.text}") renderForTests(scopeContext, printPretty) { scopeKind -> diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/symbolDeclarationOverridesProvider/AbstractIsSubclassOfTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/symbolDeclarationOverridesProvider/AbstractIsSubclassOfTest.kt index 4623f1dfcb2..ab2f3b28dc0 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/symbolDeclarationOverridesProvider/AbstractIsSubclassOfTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/symbolDeclarationOverridesProvider/AbstractIsSubclassOfTest.kt @@ -1,12 +1,12 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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.symbolDeclarationOverridesProvider +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest import org.jetbrains.kotlin.analysis.test.framework.utils.executeOnPooledThreadInReadAction import org.jetbrains.kotlin.psi.KtClassOrObject import org.jetbrains.kotlin.psi.KtFile @@ -14,10 +14,10 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractIsSubclassOfTest : AbstractAnalysisApiBasedSingleModuleTest() { - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val subClass = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(ktFiles.first(), "sub") - val superClass = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(ktFiles.first(), "super") +abstract class AbstractIsSubclassOfTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val subClass = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(mainFile, "sub") + val superClass = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(mainFile, "super") val actual = executeOnPooledThreadInReadAction { analyseForTest(subClass) { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/symbolDeclarationOverridesProvider/AbstractOverriddenDeclarationProviderTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/symbolDeclarationOverridesProvider/AbstractOverriddenDeclarationProviderTest.kt index 4e98bdff9a3..0a76f4a5387 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/symbolDeclarationOverridesProvider/AbstractOverriddenDeclarationProviderTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/symbolDeclarationOverridesProvider/AbstractOverriddenDeclarationProviderTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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. */ @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.analysis.api.renderer.types.impl.KtTypeRendererForSo import org.jetbrains.kotlin.analysis.api.symbols.KtCallableSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtFunctionSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtSyntheticJavaPropertySymbol -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider import org.jetbrains.kotlin.analysis.test.framework.utils.executeOnPooledThreadInReadAction import org.jetbrains.kotlin.analysis.utils.printer.parentsOfType @@ -21,9 +21,9 @@ import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions import org.jetbrains.kotlin.types.Variance -abstract class AbstractOverriddenDeclarationProviderTest : AbstractAnalysisApiBasedSingleModuleTest() { - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val declaration = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(ktFiles.first()) +abstract class AbstractOverriddenDeclarationProviderTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val declaration = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(mainFile) val actual = executeOnPooledThreadInReadAction { analyseForTest(declaration) { diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceImportAliasTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceImportAliasTest.kt index 74bfd10576c..3d0b0dfd54b 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceImportAliasTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceImportAliasTest.kt @@ -1,11 +1,11 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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.references -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider import org.jetbrains.kotlin.idea.references.mainReference import org.jetbrains.kotlin.psi.KtFile @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractReferenceImportAliasTest : AbstractAnalysisApiBasedSingleModuleTest() { +abstract class AbstractReferenceImportAliasTest : AbstractAnalysisApiBasedTest() { override fun configureTest(builder: TestConfigurationBuilder) { super.configureTest(builder) with(builder) { @@ -24,10 +24,10 @@ abstract class AbstractReferenceImportAliasTest : AbstractAnalysisApiBasedSingle } } - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val element = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(ktFiles.first()) + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val element = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(mainFile) val alias = element.mainReference.getImportAlias() - val expectedAlias = module.directives[Directives.TYPE_ALIAS].joinToString(" ") + val expectedAlias = mainModule.directives[Directives.TYPE_ALIAS].joinToString(" ") testServices.assertions.assertEquals(expectedAlias, alias?.text) } diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerForWholeFileTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerForWholeFileTest.kt index 571c1c0a563..1fbed4b6173 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerForWholeFileTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerForWholeFileTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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. */ @@ -7,26 +7,24 @@ package org.jetbrains.kotlin.analysis.api.impl.base.test.cases.references import org.jetbrains.kotlin.analysis.api.components.ShortenStrategy import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.references.ShorteningResultsRenderer.renderShorteningResults -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.utils.executeOnPooledThreadInReadAction import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractReferenceShortenerForWholeFileTest : AbstractAnalysisApiBasedSingleModuleTest() { - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val file = ktFiles.first() - +abstract class AbstractReferenceShortenerForWholeFileTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { val shortenings = executeOnPooledThreadInReadAction { - analyseForTest(file) { + analyseForTest(mainFile) { buildMap { - this += "default settings" to collectPossibleReferenceShortenings(file, file.textRange) + this += "default settings" to collectPossibleReferenceShortenings(mainFile, mainFile.textRange) this += ShortenStrategy.entries.associateWith { option -> val shorteningsForOption = collectPossibleReferenceShortenings( - file, - file.textRange, + mainFile, + mainFile.textRange, classShortenStrategy = { option }, callableShortenStrategy = { option } ) diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerTest.kt index a70b5039584..ccbc9667ce3 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/references/AbstractReferenceShortenerTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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. */ @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.analysis.api.impl.base.test.cases.references import org.jetbrains.kotlin.analysis.api.components.ShortenOptions import org.jetbrains.kotlin.analysis.api.components.ShortenStrategy import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.references.ShorteningResultsRenderer.renderShorteningResults -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider import org.jetbrains.kotlin.analysis.test.framework.utils.executeOnPooledThreadInReadAction import org.jetbrains.kotlin.psi.KtElement @@ -22,10 +22,9 @@ import org.jetbrains.kotlin.test.services.assertions * * Note that it tests shortening only a single expression between and in the first file. */ -abstract class AbstractReferenceShortenerTest : AbstractAnalysisApiBasedSingleModuleTest() { - - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val element = testServices.expressionMarkerProvider.getSelectedElementOfType(ktFiles.first()) +abstract class AbstractReferenceShortenerTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val element = testServices.expressionMarkerProvider.getSelectedElementOfType(mainFile) val shortenings = executeOnPooledThreadInReadAction { analyseForTest(element) { diff --git a/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/components/psiDeclarationProvider/AbstractPsiDeclarationProviderSingleModuleTest.kt b/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/components/psiDeclarationProvider/AbstractPsiDeclarationProviderSingleModuleTest.kt index edce736e0f6..281c44b5099 100644 --- a/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/components/psiDeclarationProvider/AbstractPsiDeclarationProviderSingleModuleTest.kt +++ b/analysis/analysis-api-standalone/tests/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/components/psiDeclarationProvider/AbstractPsiDeclarationProviderSingleModuleTest.kt @@ -1,11 +1,11 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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.standalone.fir.test.cases.components.psiDeclarationProvider -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.directives.model.SimpleDirectivesContainer @@ -13,11 +13,10 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -public abstract class AbstractPsiDeclarationProviderSingleModuleTest : AbstractAnalysisApiBasedSingleModuleTest() { - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val mainKtFile = ktFiles.singleOrNull() ?: ktFiles.firstOrNull { it.name == "main.kt" } ?: ktFiles.first() - val caretPosition = testServices.expressionMarkerProvider.getCaretPosition(mainKtFile) - val ktReferences = findReferencesAtCaret(mainKtFile, caretPosition) +abstract class AbstractPsiDeclarationProviderSingleModuleTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val caretPosition = testServices.expressionMarkerProvider.getCaretPosition(mainFile) + val ktReferences = findReferencesAtCaret(mainFile, caretPosition) if (ktReferences.isEmpty()) { testServices.assertions.fail { "No references at caret found" } } @@ -30,7 +29,7 @@ public abstract class AbstractPsiDeclarationProviderSingleModuleTest : AbstractA psiElements.joinToString(separator = "\n") { TestPsiElementRenderer.render(it) } } - if (Directives.UNRESOLVED_REFERENCE in module.directives) { + if (Directives.UNRESOLVED_REFERENCE in mainModule.directives) { return } diff --git a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiBasedSingleModuleTest.kt b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiBasedSingleModuleTest.kt deleted file mode 100644 index 7652a0fec48..00000000000 --- a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiBasedSingleModuleTest.kt +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2010-2022 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.test.framework.base - -import org.jetbrains.kotlin.analysis.test.framework.project.structure.ktModuleProvider -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.test.model.TestModule -import org.jetbrains.kotlin.test.services.TestModuleStructure -import org.jetbrains.kotlin.test.services.TestServices - -abstract class AbstractAnalysisApiBasedSingleModuleTest : AbstractAnalysisApiBasedTest() { - final override fun doTestByModuleStructure(moduleStructure: TestModuleStructure, testServices: TestServices) { - val singleModule = moduleStructure.modules.single() - val ktFiles = testServices.ktModuleProvider.getModuleFiles(singleModule).filterIsInstance() - doTestByFileStructure(ktFiles, singleModule, testServices) - } - - protected abstract fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) -} \ No newline at end of file diff --git a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiSingleFileTest.kt b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiSingleFileTest.kt index 642e1b6354b..caf417fa006 100644 --- a/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiSingleFileTest.kt +++ b/analysis/analysis-test-framework/tests/org/jetbrains/kotlin/analysis/test/framework/base/AbstractAnalysisApiSingleFileTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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. */ @@ -9,10 +9,9 @@ import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices -abstract class AbstractAnalysisApiSingleFileTest : AbstractAnalysisApiBasedSingleModuleTest() { - final override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val singleFile = ktFiles.first() - doTestByFileStructure(singleFile, module, testServices) +abstract class AbstractAnalysisApiSingleFileTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + doTestByFileStructure(mainFile, mainModule, testServices) } protected abstract fun doTestByFileStructure(ktFile: KtFile, module: TestModule, testServices: TestServices) diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractCompilationPeerAnalysisTest.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractCompilationPeerAnalysisTest.kt index 1ed85ab0460..1ecda5a3b9c 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractCompilationPeerAnalysisTest.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractCompilationPeerAnalysisTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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. */ @@ -10,23 +10,21 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.api.getOrBuildFirFile import org.jetbrains.kotlin.analysis.low.level.api.fir.compile.CompilationPeerCollector import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractCompilationPeerAnalysisTest : AbstractAnalysisApiBasedSingleModuleTest() { +abstract class AbstractCompilationPeerAnalysisTest : AbstractAnalysisApiBasedTest() { override val configurator = AnalysisApiFirSourceTestConfigurator(analyseInDependentSession = false) - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val mainKtFile = ktFiles.singleOrNull() ?: ktFiles.single { it.name == "main.kt" } - - val project = mainKtFile.project - val sourceModule = ProjectStructureProvider.getModule(project, mainKtFile, contextualModule = null) + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val project = mainFile.project + val sourceModule = ProjectStructureProvider.getModule(project, mainFile, contextualModule = null) val resolveSession = sourceModule.getFirResolveSession(project) - val firFile = mainKtFile.getOrBuildFirFile(resolveSession) + val firFile = mainFile.getOrBuildFirFile(resolveSession) val compilationPeerData = CompilationPeerCollector.process(firFile) diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractContextCollectorTest.kt b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractContextCollectorTest.kt index 4aa4a0c511e..df3f0e08d4c 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractContextCollectorTest.kt +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/AbstractContextCollectorTest.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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. */ @@ -11,14 +11,13 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.Analys import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator import org.jetbrains.kotlin.analysis.low.level.api.fir.util.ContextCollector import org.jetbrains.kotlin.analysis.project.structure.ProjectStructureProvider -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator import org.jetbrains.kotlin.fir.declarations.FirResolvedImport import org.jetbrains.kotlin.fir.declarations.FirTowerDataContext import org.jetbrains.kotlin.fir.renderer.FirRenderer import org.jetbrains.kotlin.fir.resolve.SessionHolderImpl -import org.jetbrains.kotlin.fir.resolve.dfa.Identifier import org.jetbrains.kotlin.fir.resolve.dfa.RealVariable import org.jetbrains.kotlin.fir.scopes.* import org.jetbrains.kotlin.fir.scopes.impl.* @@ -34,21 +33,19 @@ import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions import java.lang.IllegalArgumentException -abstract class AbstractContextCollectorTest : AbstractAnalysisApiBasedSingleModuleTest() { - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val mainKtFile = ktFiles.singleOrNull() ?: ktFiles.single { it.name == "main.kt" } - - val project = mainKtFile.project - val sourceModule = ProjectStructureProvider.getModule(project, mainKtFile, contextualModule = null) +abstract class AbstractContextCollectorTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val project = mainFile.project + val sourceModule = ProjectStructureProvider.getModule(project, mainFile, contextualModule = null) val resolveSession = sourceModule.getFirResolveSession(project) val session = resolveSession.useSiteFirSession val sessionHolder = SessionHolderImpl(session, session.getScopeSession()) - val firFile = mainKtFile.getOrBuildFirFile(resolveSession) + val firFile = mainFile.getOrBuildFirFile(resolveSession) val targetElement = testServices.expressionMarkerProvider - .getBottommostSelectedElementOfType(mainKtFile, KtElement::class.java) + .getBottommostSelectedElementOfType(mainFile, KtElement::class.java) val elementContext = ContextCollector.process(firFile, sessionHolder, targetElement) ?: error("Context not found for element $targetElement") diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractLightClassUtilTest.kt b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractLightClassUtilTest.kt index 13864c94ad4..b28017cb501 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractLightClassUtilTest.kt +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractLightClassUtilTest.kt @@ -1,12 +1,12 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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.light.classes.symbol.base import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider import org.jetbrains.kotlin.asJava.toLightElements import org.jetbrains.kotlin.psi.KtDeclaration @@ -17,14 +17,14 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractLightClassUtilTest : AbstractAnalysisApiBasedSingleModuleTest() { +abstract class AbstractLightClassUtilTest : AbstractAnalysisApiBasedTest() { override val configurator = AnalysisApiFirSourceTestConfigurator(analyseInDependentSession = false) - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { - val ktFile = ktFiles.single() - val declaration = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(ktFile) + + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { + val declaration = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(mainFile) val lightElements = declaration.toLightElements() testServices.assertions.assertFalse(lightElements.isEmpty()) - val directives = module.directives + val directives = mainModule.directives val expectedLightElements = directives[Directives.EXPECTED] testServices.assertions.assertEquals(expectedLightElements.size, lightElements.size) { "Found ${lightElements.map { it.javaClass.name }}" diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractSymbolLightClassesEquivalentTest.kt b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractSymbolLightClassesEquivalentTest.kt index e9fa0f46e7f..7eda4c26bd1 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractSymbolLightClassesEquivalentTest.kt +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/base/AbstractSymbolLightClassesEquivalentTest.kt @@ -1,12 +1,12 @@ /* - * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Copyright 2010-2024 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.light.classes.symbol.base import org.jetbrains.kotlin.analysis.low.level.api.fir.test.configurators.AnalysisApiFirSourceTestConfigurator -import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedSingleModuleTest +import org.jetbrains.kotlin.analysis.test.framework.base.AbstractAnalysisApiBasedTest import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerProvider import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator import org.jetbrains.kotlin.asJava.LightClassTestCommon @@ -17,11 +17,10 @@ import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.assertions -abstract class AbstractSymbolLightClassesEquivalentTest : AbstractAnalysisApiBasedSingleModuleTest() { - override fun doTestByFileStructure(ktFiles: List, module: TestModule, testServices: TestServices) { +abstract class AbstractSymbolLightClassesEquivalentTest : AbstractAnalysisApiBasedTest() { + override fun doTestByMainFile(mainFile: KtFile, mainModule: TestModule, testServices: TestServices) { val lightQName = LightClassTestCommon.fqNameInTestDataFile(testDataPath.toFile()) - val ktFile = ktFiles.first() - val declaration = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(ktFile) + val declaration = testServices.expressionMarkerProvider.getElementOfTypeAtCaret(mainFile) val lightElements = declaration.toLightElements() testServices.assertions.assertFalse(lightElements.isEmpty()) if (lightElements.size > 1) {