diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt index 840a0893c88..9138c40dc19 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/KtSymbolByFirBuilder.kt @@ -605,9 +605,12 @@ private class BuilderCache private constructor( internal fun FirElement.buildSymbol(builder: KtSymbolByFirBuilder) = (this as? FirDeclaration)?.symbol?.let(builder::buildSymbol) -internal fun FirDeclaration.buildSymbol(builder: KtSymbolByFirBuilder) = +internal fun FirDeclaration.buildSymbol(builder: KtSymbolByFirBuilder): KtSymbol = builder.buildSymbol(symbol) +internal fun FirBasedSymbol<*>.buildSymbol(builder: KtSymbolByFirBuilder): KtSymbol = + builder.buildSymbol(this) + private fun collectReferencedTypeParameters(declaration: FirCallableDeclaration): Set { val allUsedTypeParameters = mutableSetOf() diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/FirReferenceResolveHelper.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/FirReferenceResolveHelper.kt index d7e9765ae13..d9e69600e26 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/FirReferenceResolveHelper.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/references/FirReferenceResolveHelper.kt @@ -98,18 +98,7 @@ internal object FirReferenceResolveHelper { listOfNotNull(resolvedSymbol.fir.buildSymbol(symbolBuilder)) } is FirResolvedNamedReference -> { - val fir = when (val symbol = resolvedSymbol) { - is FirSyntheticPropertySymbol -> { - val syntheticProperty = symbol.fir as FirSyntheticProperty - if (syntheticProperty.getter.delegate.symbol.callableId == symbol.getterId) { - syntheticProperty.getter.delegate - } else { - syntheticProperty.setter!!.delegate - } - } - else -> symbol.fir - } - listOfNotNull(fir.buildSymbol(symbolBuilder)) + listOfNotNull(resolvedSymbol.buildSymbol(symbolBuilder)) } is FirThisReference -> { val boundSymbol = boundSymbol diff --git a/analysis/analysis-api/testData/referenceResolve/SyntheticProperty.txt b/analysis/analysis-api/testData/referenceResolve/SyntheticProperty.txt index 8245843a05f..15d5914c9a7 100644 --- a/analysis/analysis-api/testData/referenceResolve/SyntheticProperty.txt +++ b/analysis/analysis-api/testData/referenceResolve/SyntheticProperty.txt @@ -1,2 +1,2 @@ Resolved to: -0: (in JavaClass) open fun getSomething(): kotlin.Int +0: (in JavaClass) open var something: kotlin.Int \ No newline at end of file