[AA] Refactoring: Simplify member scope test classes
^KT-61900
This commit is contained in:
committed by
Space Team
parent
c2d08b9462
commit
4ba0aef23b
-24
@@ -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())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-25
@@ -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())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+20
-2
@@ -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.SymbolByFqName
|
||||||
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.symbols.AbstractSymbolByFqNameTest
|
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.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.analysis.api.symbols.markers.KtSymbolWithMembers
|
||||||
import org.jetbrains.kotlin.psi.KtFile
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
import org.jetbrains.kotlin.test.services.TestServices
|
import org.jetbrains.kotlin.test.services.TestServices
|
||||||
|
|
||||||
abstract class AbstractMemberScopeByFqNameTest : AbstractSymbolByFqNameTest() {
|
abstract class AbstractMemberScopeTestBase : AbstractSymbolByFqNameTest() {
|
||||||
|
context(KtAnalysisSession)
|
||||||
|
protected abstract fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence<KtDeclarationSymbol>
|
||||||
|
|
||||||
override fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): SymbolsData {
|
override fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): SymbolsData {
|
||||||
val symbolData = SymbolByFqName.getSymbolDataFromFile(testDataPath)
|
val symbolData = SymbolByFqName.getSymbolDataFromFile(testDataPath)
|
||||||
val symbols = with(symbolData) { toSymbols(ktFile) }
|
val symbols = with(symbolData) { toSymbols(ktFile) }
|
||||||
val symbolWithMembers = symbols.singleOrNull() as? KtSymbolWithMembers
|
val symbolWithMembers = symbols.singleOrNull() as? KtSymbolWithMembers
|
||||||
?: error("Should be a single `${KtSymbolWithMembers::class.simpleName}`, but $symbols found.")
|
?: 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<KtDeclarationSymbol> = getMemberScope().getAllSymbols()
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class AbstractDeclaredMemberScopeTest : AbstractMemberScopeTestBase() {
|
||||||
|
context(KtAnalysisSession)
|
||||||
|
override fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence<KtDeclarationSymbol> = getDeclaredMemberScope().getAllSymbols()
|
||||||
|
}
|
||||||
|
|
||||||
|
abstract class AbstractDelegateMemberScopeTest : AbstractMemberScopeTestBase() {
|
||||||
|
context(KtAnalysisSession)
|
||||||
|
override fun KtSymbolWithMembers.getSymbolsFromScope(): Sequence<KtDeclarationSymbol> = getDelegatedMemberScope().getCallableSymbols()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user