diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/typeEnhancement/signatureEnhancement.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/typeEnhancement/signatureEnhancement.kt index 1e92171fbcd..5d922feb89e 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/typeEnhancement/signatureEnhancement.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/typeEnhancement/signatureEnhancement.kt @@ -31,6 +31,8 @@ fun D.enhanceSignature(): D { // TODO use new type parameters while enhancing other types // TODO Propagation into generic type arguments + if (this !is JavaCallableMemberDescriptor) return this + val enhancedReceiverType = if (extensionReceiverParameter != null) parts(isCovariant = false) { it.extensionReceiverParameter!!.type }.enhance() @@ -42,12 +44,8 @@ fun D.enhanceSignature(): D { val enhancedReturnType = parts(isCovariant = true) { it.returnType!! }.enhance() - if (this is JavaCallableMemberDescriptor) { - @Suppress("UNCHECKED_CAST") - return this.enhance(enhancedReceiverType, enhancedValueParametersTypes, enhancedReturnType) as D - } - - return this + @Suppress("UNCHECKED_CAST") + return this.enhance(enhancedReceiverType, enhancedValueParametersTypes, enhancedReturnType) as D } private class SignatureParts(