[Analysis API] allow AbstractSingleSymbolByPsi to accept <expr>-based section in addition to <caret>-based

This commit is contained in:
Ilya Kirillov
2023-08-07 12:51:06 +02:00
committed by Space Team
parent 729bae4a2a
commit 1b0034b6e7
2 changed files with 45 additions and 2 deletions
@@ -10,10 +10,14 @@ import org.jetbrains.kotlin.analysis.test.framework.services.expressionMarkerPro
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.test.services.TestServices
import org.jetbrains.kotlin.test.services.moduleStructure
abstract class AbstractSingleSymbolByPsi : AbstractSymbolTest() {
override fun KtAnalysisSession.collectSymbols(ktFile: KtFile, testServices: TestServices): SymbolsData {
val declaration = testServices.expressionMarkerProvider.getElementOfTypeAtCaret<KtDeclaration>(ktFile)
val declaration = testServices.expressionMarkerProvider.getSelectedElementOrElementAtCaretOfTypeByDirective(
ktFile, testServices.moduleStructure.modules.first(),
KtDeclaration::class
) as KtDeclaration
val symbol = declaration.getSymbol()
return SymbolsData(listOf(symbol))
}