From bf5ca2ed84397643704a08c1cfa423d765bad576 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 28 Aug 2019 12:41:53 +0200 Subject: [PATCH] Cleanup compiler warnings in IR-related modules --- .../backend/common/descriptors/WrappedDescriptors.kt | 6 ++---- .../common/lower/AbstractSuspendFunctionsLowering.kt | 1 - .../common/lower/DefaultArgumentStubGenerator.kt | 1 - .../common/lower/KCallableNamePropertyLowering.kt | 2 +- .../ir/backend/js/lower/PrimitiveCompanionLowering.kt | 11 ++++------- .../kotlin/ir/declarations/impl/IrFunctionBase.kt | 4 ++-- .../backend/common/serialization/IrFileSerializer.kt | 2 +- .../compiler/backend/ir/GeneratorHelpers.kt | 2 +- 8 files changed, 11 insertions(+), 18 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt index 8e1c5f98138..8b4f3330183 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/descriptors/WrappedDescriptors.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptorImpl import org.jetbrains.kotlin.descriptors.annotations.Annotations -import org.jetbrains.kotlin.descriptors.impl.ReceiverParameterDescriptorImpl import org.jetbrains.kotlin.descriptors.impl.TypeAliasConstructorDescriptor import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.* @@ -25,7 +24,6 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.module import org.jetbrains.kotlin.resolve.scopes.LazyScopeAdapter import org.jetbrains.kotlin.resolve.scopes.MemberScope import org.jetbrains.kotlin.resolve.scopes.TypeIntersectionScope -import org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue import org.jetbrains.kotlin.serialization.deserialization.descriptors.DescriptorWithContainerSource import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource @@ -1023,10 +1021,10 @@ open class WrappedFieldDescriptor( override fun getContainingDeclaration() = (owner.parent as IrSymbolOwner).symbol.descriptor - override fun isLateInit() = owner.correspondingProperty?.isLateinit ?: false + override fun isLateInit() = owner.correspondingPropertySymbol?.owner?.isLateinit ?: false override fun getExtensionReceiverParameter(): ReceiverParameterDescriptor? = - owner.correspondingProperty?.descriptor?.extensionReceiverParameter + owner.correspondingPropertySymbol?.owner?.descriptor?.extensionReceiverParameter override fun isExternal() = owner.isExternal diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering.kt index fd417f73394..b68e3ca7b77 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/AbstractSuspendFunctionsLowering.kt @@ -594,7 +594,6 @@ abstract class AbstractSuspendFunctionsLowering(val co stateMachineFunction: IrSimpleFunction, coroutineClass: IrClass ): IrSimpleFunction { - val originalBody = irFunction.body!! val function = WrappedSimpleFunctionDescriptor().let { d -> IrFunctionImpl( startOffset, endOffset, diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt index 1386b1c9dd5..a0aa64e53a8 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/DefaultArgumentStubGenerator.kt @@ -359,7 +359,6 @@ open class DefaultParameterInjector( ) } if (expression.symbol is IrConstructorSymbol) { - val defaultArgumentMarker = context.ir.symbols.defaultConstructorMarker params += markerParameterDeclaration(realFunction) to IrConstImpl.constNull(startOffset, endOffset, context.irBuiltIns.nothingNType) } else if (context.ir.shouldGenerateHandlerParameterForDefaultBodyFun()) { diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/KCallableNamePropertyLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/KCallableNamePropertyLowering.kt index fb812a78ca6..3a03b15183b 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/KCallableNamePropertyLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/KCallableNamePropertyLowering.kt @@ -52,7 +52,7 @@ private class KCallableNamePropertyTransformer(val lower: KCallableNamePropertyL //TODO rewrite checking val directMember = expression.symbol.owner.let { - (it as? IrSimpleFunction)?.correspondingProperty ?: it + (it as? IrSimpleFunction)?.correspondingPropertySymbol?.owner ?: it } val irClass = directMember.parent as? IrClass ?: return expression if (!irClass.isSubclassOf(lower.context.irBuiltIns.kCallableClass.owner)) return expression diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/PrimitiveCompanionLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/PrimitiveCompanionLowering.kt index 2eaca76289e..6072e602b57 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/PrimitiveCompanionLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/PrimitiveCompanionLowering.kt @@ -45,12 +45,9 @@ class PrimitiveCompanionLowering(val context: JsIrBackendContext) : FileLowering val actualCompanion = getActualPrimitiveCompanion(companion) ?: return null - val actualFunction = - actualCompanion.declarations - .filterIsInstance() - .single { it.name == function.name } - - return actualFunction!! + return actualCompanion.declarations + .filterIsInstance() + .single { it.name == function.name } } override fun lower(irFile: IrFile) { @@ -78,4 +75,4 @@ class PrimitiveCompanionLowering(val context: JsIrBackendContext) : FileLowering } }) } -} \ No newline at end of file +} diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionBase.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionBase.kt index 6ee751b18f2..3d29ba187ce 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionBase.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/declarations/impl/IrFunctionBase.kt @@ -20,7 +20,6 @@ import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.IrBody import org.jetbrains.kotlin.ir.types.IrType -import org.jetbrains.kotlin.ir.types.impl.IrUninitializedType import org.jetbrains.kotlin.ir.util.transform import org.jetbrains.kotlin.ir.visitors.IrElementTransformer import org.jetbrains.kotlin.ir.visitors.IrElementVisitor @@ -40,8 +39,9 @@ abstract class IrFunctionBase( IrDeclarationBase(startOffset, endOffset, origin), IrFunction { + @Suppress("DEPRECATION") final override var returnType: IrType = returnType - get() = if (field === IrUninitializedType) { + get() = if (field === org.jetbrains.kotlin.ir.types.impl.IrUninitializedType) { error("Return type is not initialized") } else { field diff --git a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt index 65e6ff14c11..3ac41b40acf 100644 --- a/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt +++ b/compiler/ir/serialization.common/src/org/jetbrains/kotlin/backend/common/serialization/IrFileSerializer.kt @@ -247,7 +247,7 @@ open class IrFileSerializer( is IrReturnableBlockSymbol -> ProtoSymbolKind.RETURNABLE_BLOCK_SYMBOL is IrFieldSymbol -> - if (symbol.owner.correspondingProperty.let { it == null || it.isDelegated }) + if (symbol.owner.correspondingPropertySymbol?.owner.let { it == null || it.isDelegated }) ProtoSymbolKind.STANDALONE_FIELD_SYMBOL else ProtoSymbolKind.FIELD_SYMBOL diff --git a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt index 6bcf99d9b21..88c9e3cb479 100644 --- a/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt +++ b/plugins/kotlin-serialization/kotlin-serialization-compiler/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/GeneratorHelpers.kt @@ -250,7 +250,7 @@ interface IrBuilderExtension { irProperty.parent = propertyParent irProperty.backingField = generatePropertyBackingField(propertyDescriptor, irProperty).apply { parent = propertyParent - correspondingProperty = irProperty + correspondingPropertySymbol = irProperty.symbol } val fieldSymbol = irProperty.backingField!!.symbol irProperty.getter = propertyDescriptor.getter?.let { generatePropertyAccessor(it, fieldSymbol) }