From a4a2d92c08eaf9ccd5b18d11c5b5fa05636c5b2d Mon Sep 17 00:00:00 2001 From: Roman Golyshev Date: Wed, 8 Jul 2020 20:16:26 +0300 Subject: [PATCH] FIR IDE: Make `KtFirReference` implement `KtSymbolBasedReference` Co-authored-by: Ilya Kirillov --- .../kotlin/idea/frontend/api/KtSymbolBasedReference.kt | 2 +- .../org/jetbrains/kotlin/idea/references/KtFirReference.kt | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtSymbolBasedReference.kt b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtSymbolBasedReference.kt index 7a53578f910..f0c0e7ac57f 100644 --- a/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtSymbolBasedReference.kt +++ b/idea/idea-frontend-api/src/org/jetbrains/kotlin/idea/frontend/api/KtSymbolBasedReference.kt @@ -19,6 +19,6 @@ fun KtReference.resolveToSymbols(analysisSession: KtAnalysisSession): Collection } fun KtSimpleReference<*>.resolveToSymbol(analysisSession: KtAnalysisSession): KtSymbol? { - check(this is KtSymbolBasedReference) { "To get reference symbol the one should be KtSymbolBasedReference" } + check(this is KtSymbolBasedReference) { "To get reference symbol the one should be KtSymbolBasedReference but was ${this::class}" } return resolveToSymbols(analysisSession).singleOrNull() } \ No newline at end of file diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReference.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReference.kt index 8692e244699..49477cba714 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReference.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/references/KtFirReference.kt @@ -7,11 +7,10 @@ package org.jetbrains.kotlin.idea.references import com.intellij.psi.PsiElement import org.jetbrains.kotlin.idea.frontend.api.KtAnalysisSession +import org.jetbrains.kotlin.idea.frontend.api.KtSymbolBasedReference import org.jetbrains.kotlin.idea.frontend.api.symbols.KtSymbol -interface KtFirReference : KtReference { - fun resolveToSymbols(analysisSession: KtAnalysisSession): Collection - +interface KtFirReference : KtReference, KtSymbolBasedReference { fun getResolvedToPsi(analysisSession: KtAnalysisSession): Collection = resolveToSymbols(analysisSession).mapNotNull(KtSymbol::psi)