[Analysis API FIR] fix member scope for enum entries without body
This commit is contained in:
+2
-1
@@ -10,6 +10,7 @@ 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.analysis.api.symbols.markers.KtSymbolWithMembers
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
|
||||
@@ -18,7 +19,7 @@ abstract class AbstractMemberScopeByFqNameTest : AbstractSymbolByFqNameTest() {
|
||||
override fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): SymbolsData {
|
||||
val symbolData = SymbolByFqName.getSymbolDataFromFile(testDataPath)
|
||||
val symbols = with(symbolData) { toSymbols() }
|
||||
val classSymbol = symbols.singleOrNull() as? KtClassOrObjectSymbol
|
||||
val classSymbol = symbols.singleOrNull() as? KtSymbolWithMembers
|
||||
?: error("Should be a single class symbol, but $symbols found")
|
||||
return SymbolsData(classSymbol.getMemberScope().getAllSymbols().toList())
|
||||
}
|
||||
|
||||
+6
-2
@@ -90,13 +90,17 @@ abstract class AbstractSymbolTest : AbstractAnalysisApiSingleFileTest() {
|
||||
data: SymbolPointersData,
|
||||
testServices: TestServices,
|
||||
) {
|
||||
val actual = data.pointers.joinToString(separator = "\n\n") { it.rendered }
|
||||
val actual = data.pointers.renderDeclarations()
|
||||
testServices.assertions.assertEqualsToTestDataFileSibling(actual)
|
||||
|
||||
val actualPretty = data.pointersForPrettyRendering.joinToString(separator = "\n\n") { it.rendered }
|
||||
val actualPretty = data.pointersForPrettyRendering.renderDeclarations()
|
||||
testServices.assertions.assertEqualsToTestDataFileSibling(actualPretty, extension = ".pretty.txt")
|
||||
}
|
||||
|
||||
private fun List<PointerWithRenderedSymbol>.renderDeclarations(): String =
|
||||
if (isEmpty()) "NO_SYMBOLS"
|
||||
else joinToString(separator = "\n\n") { it.rendered }
|
||||
|
||||
private fun restoreSymbolsInOtherReadActionAndCompareResults(
|
||||
ktFile: KtFile,
|
||||
pointersWithRendered: List<PointerWithRenderedSymbol>,
|
||||
|
||||
Reference in New Issue
Block a user