diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index 024e66c63e1..f53f4845816 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -61,7 +61,6 @@ import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.NameUtils import org.jetbrains.kotlin.name.SpecialNames -import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.utils.KotlinExceptionWithAttachments import org.jetbrains.kotlin.utils.addToStdlib.runUnless import org.jetbrains.kotlin.utils.threadLocal @@ -493,13 +492,12 @@ class Fir2IrDeclarationStorage( internal fun declareIrSimpleFunction( signature: IdSignature?, - containerSource: DeserializedContainerSource?, factory: (IrSimpleFunctionSymbol) -> IrSimpleFunction ): IrSimpleFunction = if (signature == null) { factory(IrSimpleFunctionSymbolImpl()) } else { - symbolTable.declareSimpleFunction(signature, { Fir2IrSimpleFunctionSymbol(signature, containerSource) }, factory) + symbolTable.declareSimpleFunction(signature, { Fir2IrSimpleFunctionSymbol(signature) }, factory) } fun getOrCreateIrFunction( @@ -568,7 +566,7 @@ class Fir2IrDeclarationStorage( if (isLambda) ((function as FirAnonymousFunction).typeRef as? FirResolvedTypeRef)?.type?.isSuspendOrKSuspendFunctionType(session) == true else simpleFunction?.isSuspend == true val created = function.convertWithOffsets { startOffset, endOffset -> - val result = declareIrSimpleFunction(signature, simpleFunction?.containerSource) { symbol -> + val result = declareIrSimpleFunction(signature) { symbol -> classifierStorage.preCacheTypeParameters(function, symbol) irFactory.createFunction( startOffset, endOffset, updatedOrigin, symbol, @@ -694,13 +692,12 @@ class Fir2IrDeclarationStorage( private fun declareIrAccessor( signature: IdSignature?, - containerSource: DeserializedContainerSource?, factory: (IrSimpleFunctionSymbol) -> IrSimpleFunction ): IrSimpleFunction = if (signature == null) factory(IrSimpleFunctionSymbolImpl()) else - symbolTable.declareSimpleFunction(signature, { Fir2IrSimpleFunctionSymbol(signature, containerSource) }, factory) + symbolTable.declareSimpleFunction(signature, { Fir2IrSimpleFunctionSymbol(signature) }, factory) private fun createIrPropertyAccessor( propertyAccessor: FirPropertyAccessor?, @@ -725,8 +722,7 @@ class Fir2IrDeclarationStorage( } val containerSource = (correspondingProperty as? IrProperty)?.containerSource return declareIrAccessor( - signature, - containerSource + signature ) { symbol -> val accessorReturnType = if (isSetter) irBuiltIns.unitType else propertyType val visibility = propertyAccessor?.visibility?.let { @@ -824,13 +820,12 @@ class Fir2IrDeclarationStorage( private fun declareIrProperty( signature: IdSignature?, - containerSource: DeserializedContainerSource?, factory: (IrPropertySymbol) -> IrProperty ): IrProperty = if (signature == null) factory(IrPropertySymbolImpl()) else - symbolTable.declareProperty(signature, { Fir2IrPropertySymbol(signature, containerSource) }, factory) + symbolTable.declareProperty(signature, { Fir2IrPropertySymbol(signature) }, factory) private fun declareIrField(factory: (IrFieldSymbol) -> IrField): IrField = factory(IrFieldSymbolImpl()) @@ -903,7 +898,7 @@ class Fir2IrDeclarationStorage( return createIrLazyProperty(property, signature, irParent, origin) } return property.convertWithOffsets { startOffset, endOffset -> - val result = declareIrProperty(signature, property.containerSource) { symbol -> + val result = declareIrProperty(signature) { symbol -> classifierStorage.preCacheTypeParameters(property, symbol) irFactory.createProperty( startOffset, endOffset, origin, symbol, @@ -1446,10 +1441,7 @@ class Fir2IrDeclarationStorage( fun IrProperty.isIllegalFakeOverride(): Boolean { if (!isFakeOverride) return false val overriddenSymbols = overriddenSymbols - if (overriddenSymbols.isEmpty() || overriddenSymbols.any { it.owner.isIllegalFakeOverride() }) { - return true - } - return false + return overriddenSymbols.isEmpty() || overriddenSymbols.any { it.owner.isIllegalFakeOverride() } } if (fakeOverrideOwnerLookupTag != null && @@ -1473,7 +1465,7 @@ class Fir2IrDeclarationStorage( lazyParent: IrDeclarationParent, declarationOrigin: IrDeclarationOrigin ): IrProperty { - val symbol = Fir2IrPropertySymbol(signature, fir.containerSource) + val symbol = Fir2IrPropertySymbol(signature) val firPropertySymbol = fir.symbol val irProperty = fir.convertWithOffsets { startOffset, endOffset -> symbolTable.declareProperty(signature, { symbol }) { diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt index 51ae3977e9d..0beb54978af 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt @@ -306,7 +306,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) : Fir2IrCompon ) } val signature = if (lookupTag.classId.isLocal) null else components.signatureComposer.composeSignature(firFunction) - return components.declarationStorage.declareIrSimpleFunction(signature, null) { symbol -> + return components.declarationStorage.declareIrSimpleFunction(signature) { symbol -> components.irFactory.createFunction( UNDEFINED_OFFSET, UNDEFINED_OFFSET, origin, symbol, name, DescriptorVisibilities.PUBLIC, Modality.OPEN, returnType, isInline = false, isExternal = false, isTailrec = false, isSuspend = false, isOperator = false, diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/symbols/Fir2IrBindableSymbol.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/symbols/Fir2IrBindableSymbol.kt index 8766e188615..741bbd2e8b9 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/symbols/Fir2IrBindableSymbol.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/symbols/Fir2IrBindableSymbol.kt @@ -16,7 +16,6 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ abstract class Fir2IrBindableSymbol( override val signature: IdSignature, - private val containerSource: DeserializedContainerSource? = null ) : IrBindableSymbol { private var _owner: B? = null @@ -49,9 +48,4 @@ abstract class Fir2IrBindableSymbol(signature), @@ -24,9 +23,8 @@ class Fir2IrEnumEntrySymbol(signature: IdSignature) : IrEnumEntrySymbol class Fir2IrSimpleFunctionSymbol( - signature: IdSignature, - containerSource: DeserializedContainerSource? = null -) : Fir2IrBindableSymbol(signature, containerSource), + signature: IdSignature +) : Fir2IrBindableSymbol(signature), IrSimpleFunctionSymbol class Fir2IrConstructorSymbol(signature: IdSignature) : @@ -34,9 +32,8 @@ class Fir2IrConstructorSymbol(signature: IdSignature) : IrConstructorSymbol class Fir2IrPropertySymbol( - signature: IdSignature, - containerSource: DeserializedContainerSource? = null -) : Fir2IrBindableSymbol(signature, containerSource), + signature: IdSignature +) : Fir2IrBindableSymbol(signature), IrPropertySymbol class Fir2IrScriptSymbol(signature: IdSignature) :