From a5ff88f89735d2b62c0422183293092a4171482c Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 13 Jan 2020 21:48:29 +0100 Subject: [PATCH] IR: implement some missing features in wrapped descriptors for JVM IR Wrapped descriptors are still used in reporting of the "conflicting JVM signatures" diagnostic in the JVM IR backend, and TODOs in implementations prevent that diagnostic from being shown, obscuring even the place where the error happens. --- .../kotlin/ir/descriptors/WrappedDescriptors.kt | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/WrappedDescriptors.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/WrappedDescriptors.kt index 763cf77c1b2..d585ee394ba 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/WrappedDescriptors.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/descriptors/WrappedDescriptors.kt @@ -132,7 +132,7 @@ abstract class WrappedCallableDescriptor( TODO("not implemented") } - override fun getValueParameters(): MutableList { + override fun getValueParameters(): List { TODO("not implemented") } @@ -185,6 +185,8 @@ open class WrappedValueParameterDescriptor( override fun getOverriddenDescriptors(): Collection = emptyList() + override fun getTypeParameters(): List = emptyList() + override fun getValueParameters(): List = emptyList() override fun getOriginal() = this @@ -423,10 +425,6 @@ open class WrappedSimpleFunctionDescriptor( if (owner.origin == IrDeclarationOrigin.FAKE_OVERRIDE) CallableMemberDescriptor.Kind.FAKE_OVERRIDE else CallableMemberDescriptor.Kind.SYNTHESIZED - override fun isHiddenToOvercomeSignatureClash(): Boolean { - TODO("not implemented") - } - override fun copy( newOwner: DeclarationDescriptor?, modality: Modality?, @@ -437,11 +435,10 @@ open class WrappedSimpleFunctionDescriptor( TODO("not implemented") } - override fun isHiddenForResolutionEverywhereBesideSupercalls(): Boolean { - TODO("not implemented") - } + override fun isHiddenToOvercomeSignatureClash(): Boolean = false + override fun isHiddenForResolutionEverywhereBesideSupercalls(): Boolean = false - override fun getInitialSignatureDescriptor() = null + override fun getInitialSignatureDescriptor(): FunctionDescriptor? = null override fun getUserData(key: CallableDescriptor.UserDataKey?): V? = null