From c673c4cc91f42ccb534d589653e774c6be5d1daf Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 21 Oct 2021 16:00:25 +0300 Subject: [PATCH] FIR: refactor/use properly FirAccessorSymbol & FirSyntheticPropertySymbol --- .../api/fir/references/FirReferenceResolveHelper.kt | 6 +++--- .../fir/java/enhancement/SignatureEnhancement.kt | 2 +- .../fir/java/scopes/JavaClassUseSiteMemberScope.kt | 4 ++-- .../jetbrains/kotlin/fir/resolve/calls/Synthetics.kt | 10 +++++----- .../kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt | 6 +++--- .../kotlin/fir/symbols/impl/FirFunctionSymbol.kt | 6 +++--- 6 files changed, 17 insertions(+), 17 deletions(-) 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 adbdc49248f..10f817efb88 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 @@ -17,7 +17,6 @@ import org.jetbrains.kotlin.fir.declarations.utils.isStatic import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.references.* import org.jetbrains.kotlin.fir.resolve.ScopeSession -import org.jetbrains.kotlin.fir.resolve.calls.FirSyntheticPropertySymbol import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeUnmatchedTypeArgumentsError import org.jetbrains.kotlin.fir.resolve.toSymbol import org.jetbrains.kotlin.fir.resolve.transformers.FirImportResolveTransformer @@ -34,6 +33,7 @@ import org.jetbrains.kotlin.analysis.api.fir.KtSymbolByFirBuilder import org.jetbrains.kotlin.analysis.api.fir.buildSymbol import org.jetbrains.kotlin.analysis.api.fir.symbols.KtFirPackageSymbol import org.jetbrains.kotlin.analysis.api.symbols.KtSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirAccessorSymbol import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName @@ -89,9 +89,9 @@ internal object FirReferenceResolveHelper { } is FirResolvedNamedReference -> { val fir = when (val symbol = resolvedSymbol) { - is FirSyntheticPropertySymbol -> { + is FirAccessorSymbol -> { val syntheticProperty = symbol.fir as FirSyntheticProperty - if (syntheticProperty.getter.delegate.symbol.callableId == symbol.accessorId) { + if (syntheticProperty.getter.delegate.symbol.callableId == symbol.getterId) { syntheticProperty.getter.delegate } else { syntheticProperty.setter!!.delegate diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt index 25e79396700..b8be07905a4 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt @@ -154,7 +154,7 @@ class FirSignatureEnhancement( return buildSyntheticProperty { moduleData = this@FirSignatureEnhancement.moduleData this.name = name - symbol = FirAccessorSymbol(accessorSymbol.callableId, accessorSymbol.accessorId) + symbol = FirAccessorSymbol(accessorSymbol.callableId, accessorSymbol.getterId) delegateGetter = enhancedGetterSymbol.fir as FirSimpleFunction delegateSetter = enhancedSetterSymbol?.fir as FirSimpleFunction? status = firElement.status diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt index b2e48a1dd20..d6c37534983 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassUseSiteMemberScope.kt @@ -75,8 +75,8 @@ class JavaClassUseSiteMemberScope( moduleData = session.moduleData name = property.name symbol = FirAccessorSymbol( - accessorId = getterSymbol.callableId, - callableId = CallableId(getterSymbol.callableId.packageName, getterSymbol.callableId.className, property.name) + getterId = getterSymbol.callableId, + propertyId = CallableId(getterSymbol.callableId.packageName, getterSymbol.callableId.className, property.name) ) delegateGetter = getterSymbol.fir delegateSetter = setterSymbol?.fir diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt index e58988e3349..22e14d78c6e 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt @@ -28,9 +28,9 @@ import org.jetbrains.kotlin.name.StandardClassIds import org.jetbrains.kotlin.types.AbstractTypeChecker class FirSyntheticPropertySymbol( - callableId: CallableId, - override val accessorId: CallableId -) : FirAccessorSymbol(callableId, accessorId), SyntheticSymbol + propertyId: CallableId, + getterId: CallableId +) : FirAccessorSymbol(propertyId, getterId), SyntheticSymbol class FirSyntheticFunctionSymbol( callableId: CallableId @@ -114,8 +114,8 @@ class FirSyntheticPropertiesScope( moduleData = session.moduleData name = propertyName symbol = FirSyntheticPropertySymbol( - accessorId = getterSymbol.callableId, - callableId = CallableId(packageName, className, propertyName) + getterId = getterSymbol.callableId, + propertyId = CallableId(packageName, className, propertyName) ) delegateGetter = getter delegateSetter = matchingSetter diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt index dc8c1599fac..c5f2b362f99 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt @@ -435,7 +435,7 @@ object FirFakeOverrideGenerator { newSetterParameterTypes: List?, fakeOverrideSubstitution: FakeOverrideSubstitution? ): FirAccessorSymbol { - val getterSymbol = FirNamedFunctionSymbol(baseSymbol.accessorId) + val getterSymbol = FirNamedFunctionSymbol(baseSymbol.getterId) val getter = createSubstitutionOverrideFunction( getterSymbol, session, @@ -447,7 +447,7 @@ object FirFakeOverrideGenerator { newTypeParameters = null, fakeOverrideSubstitution = fakeOverrideSubstitution ) - val setterSymbol = FirNamedFunctionSymbol(baseSymbol.accessorId) + val setterSymbol = FirNamedFunctionSymbol(baseSymbol.getterId) val baseSetter = baseProperty.setter val setter = if (baseSetter == null) null else createSubstitutionOverrideFunction( setterSymbol, @@ -463,7 +463,7 @@ object FirFakeOverrideGenerator { return buildSyntheticProperty { moduleData = session.moduleData name = baseProperty.name - symbol = FirAccessorSymbol(baseSymbol.callableId, baseSymbol.accessorId) + symbol = FirAccessorSymbol(baseSymbol.callableId, baseSymbol.getterId) delegateGetter = getter delegateSetter = setter status = baseProperty.status diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirFunctionSymbol.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirFunctionSymbol.kt index 32ad52caaf5..74f53e12e3d 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirFunctionSymbol.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirFunctionSymbol.kt @@ -81,9 +81,9 @@ class FirConstructorSymbol( } open class FirAccessorSymbol( - callableId: CallableId, - open val accessorId: CallableId -) : FirPropertySymbol(callableId) + propertyId: CallableId, + val getterId: CallableId +) : FirPropertySymbol(propertyId) // ------------------------ unnamed ------------------------