diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirKotlinPropertySymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirKotlinPropertySymbol.kt index ddc4f0d7d23..fa096d50fbe 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirKotlinPropertySymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirKotlinPropertySymbol.kt @@ -106,7 +106,7 @@ internal class KtFirKotlinPropertySymbol( override val hasGetter: Boolean get() = firRef.withFir { it.getter != null } override val hasSetter: Boolean get() = firRef.withFir { it.setter != null } - override fun createPointer(): KtSymbolPointer { + override fun createPointer(): KtSymbolPointer { KtPsiBasedSymbolPointer.createForSymbolFromSource(this)?.let { return it } return when (symbolKind) { KtSymbolKind.TOP_LEVEL -> TODO("Creating symbol for top level fun is not supported yet") diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt index 177f86be544..e6b8d9f05df 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/KtFirSyntheticJavaPropertySymbol.kt @@ -87,16 +87,7 @@ internal class KtFirSyntheticJavaPropertySymbol( override val origin: KtSymbolOrigin get() = withValidityAssertion { KtSymbolOrigin.JAVA_SYNTHETIC_PROPERTY } - override fun createPointer(): KtSymbolPointer { - KtPsiBasedSymbolPointer.createForSymbolFromSource(this)?.let { return it } - return when (symbolKind) { - KtSymbolKind.TOP_LEVEL -> TODO("Creating symbol for top level fun is not supported yet") - KtSymbolKind.NON_PROPERTY_PARAMETER -> TODO("Creating symbol for top level parameters is not supported yet") - KtSymbolKind.MEMBER -> KtFirMemberPropertySymbolPointer( - firRef.withFir { it.containingClass()?.classId ?: error("ClassId should not be null for member property") }, - firRef.withFir { it.createSignature() } - ) - KtSymbolKind.LOCAL -> throw CanNotCreateSymbolPointerForLocalLibraryDeclarationException(name.asString()) - } + override fun createPointer(): KtSymbolPointer { + TODO("pointers to KtSyntheticJavaPropertySymbol is not supported yet") } } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirMemberPropertySymbolPointer.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirMemberPropertySymbolPointer.kt index a637d0f20ad..7cc18b5f7f1 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirMemberPropertySymbolPointer.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/frontend/api/fir/symbols/pointers/KtFirMemberPropertySymbolPointer.kt @@ -9,20 +9,20 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.idea.frontend.api.fir.KtFirAnalysisSession -import org.jetbrains.kotlin.idea.frontend.api.symbols.KtPropertySymbol +import org.jetbrains.kotlin.idea.frontend.api.symbols.KtKotlinPropertySymbol import org.jetbrains.kotlin.ir.util.IdSignature import org.jetbrains.kotlin.name.ClassId internal class KtFirMemberPropertySymbolPointer( ownerClassId: ClassId, private val signature: IdSignature -) : KtFirMemberSymbolPointer(ownerClassId) { +) : KtFirMemberSymbolPointer(ownerClassId) { override fun KtFirAnalysisSession.chooseCandidateAndCreateSymbol( candidates: Collection, firSession: FirSession - ): KtPropertySymbol? { + ): KtKotlinPropertySymbol? { val firProperty = candidates.findDeclarationWithSignature(signature, firSession) ?: return null - return firSymbolBuilder.variableLikeBuilder.buildVariableSymbol(firProperty) as? KtPropertySymbol + return firSymbolBuilder.variableLikeBuilder.buildVariableSymbol(firProperty) as? KtKotlinPropertySymbol } }