diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractDeclaredMemberScopeTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractDeclaredMemberScopeTest.kt deleted file mode 100644 index 140f363bcb2..00000000000 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractDeclaredMemberScopeTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -/* - * 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.scopeProvider - -import org.jetbrains.kotlin.analysis.api.KtAnalysisSession -import org.jetbrains.kotlin.analysis.api.impl.base.test.SymbolByFqName -import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.AbstractSymbolByFqNameTest -import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.SymbolsData -import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithMembers -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.test.services.TestServices - -abstract class AbstractDeclaredMemberScopeTest : AbstractSymbolByFqNameTest() { - override fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): SymbolsData { - val symbolData = SymbolByFqName.getSymbolDataFromFile(testDataPath) - val symbols = with(symbolData) { toSymbols(ktFile) } - val classSymbol = symbols.singleOrNull() as? KtSymbolWithMembers - ?: error("Should be a single class symbol, but $symbols found") - return SymbolsData(classSymbol.getDeclaredMemberScope().getAllSymbols().toList()) - } -} \ No newline at end of file diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractDelegateMemberScopeTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractDelegateMemberScopeTest.kt deleted file mode 100644 index b79fec8c0bb..00000000000 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractDelegateMemberScopeTest.kt +++ /dev/null @@ -1,25 +0,0 @@ -/* - * 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.scopeProvider - -import org.jetbrains.kotlin.analysis.api.KtAnalysisSession -import org.jetbrains.kotlin.analysis.api.impl.base.test.SymbolByFqName -import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.AbstractSymbolByFqNameTest -import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.SymbolsData -import org.jetbrains.kotlin.analysis.api.symbols.KtClassOrObjectSymbol -import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.test.services.TestServices - -abstract class AbstractDelegateMemberScopeTest : AbstractSymbolByFqNameTest() { - - override fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): SymbolsData { - val symbolData = SymbolByFqName.getSymbolDataFromFile(testDataPath) - val symbols = with(symbolData) { toSymbols(ktFile) } - val classSymbol = symbols.singleOrNull() as? KtClassOrObjectSymbol - ?: error("Should be a single class symbol, but $symbols found") - return SymbolsData(classSymbol.getDelegatedMemberScope().getCallableSymbols().toList()) - } -} diff --git a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeByFqNameTest.kt b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeTests.kt similarity index 52% rename from analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeByFqNameTest.kt rename to analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeTests.kt index ba9d2e06738..ee44f6f0290 100644 --- a/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeByFqNameTest.kt +++ b/analysis/analysis-api-impl-base/tests/org/jetbrains/kotlin/analysis/api/impl/base/test/cases/components/scopeProvider/AbstractMemberScopeTests.kt @@ -9,17 +9,35 @@ import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.impl.base.test.SymbolByFqName import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.AbstractSymbolByFqNameTest import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.SymbolsData +import org.jetbrains.kotlin.analysis.api.symbols.KtDeclarationSymbol import org.jetbrains.kotlin.analysis.api.symbols.markers.KtSymbolWithMembers import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.test.services.TestServices -abstract class AbstractMemberScopeByFqNameTest : AbstractSymbolByFqNameTest() { +abstract class AbstractMemberScopeTestBase : AbstractSymbolByFqNameTest() { + context(KtAnalysisSession) + protected abstract fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence override fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): SymbolsData { val symbolData = SymbolByFqName.getSymbolDataFromFile(testDataPath) val symbols = with(symbolData) { toSymbols(ktFile) } val symbolWithMembers = symbols.singleOrNull() as? KtSymbolWithMembers ?: error("Should be a single `${KtSymbolWithMembers::class.simpleName}`, but $symbols found.") - return SymbolsData(symbolWithMembers.getMemberScope().getAllSymbols().toList()) + return SymbolsData(symbolWithMembers.getSymbolsFromScope().toList()) } } + +abstract class AbstractMemberScopeByFqNameTest : AbstractMemberScopeTestBase() { + context(KtAnalysisSession) + override fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence = getMemberScope().getAllSymbols() +} + +abstract class AbstractDeclaredMemberScopeTest : AbstractMemberScopeTestBase() { + context(KtAnalysisSession) + override fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence = getDeclaredMemberScope().getAllSymbols() +} + +abstract class AbstractDelegateMemberScopeTest : AbstractMemberScopeTestBase() { + context(KtAnalysisSession) + override fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence = getDelegatedMemberScope().getCallableSymbols() +}