diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java index 284cc9c88cf..2824a052eac 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java @@ -1064,7 +1064,7 @@ public class FunctionCodegen { public void generateBridges(@NotNull FunctionDescriptor descriptor) { if (descriptor instanceof ConstructorDescriptor) return; if (owner.getContextKind() == OwnerKind.DEFAULT_IMPLS) return; - if (JvmBridgesImplKt.isAbstractOnJvmIgnoringActualModality(state, descriptor)) return; + if (JvmBridgesImplKt.isAbstractOnJvmIgnoringActualModality(descriptor)) return; // equals(Any?), hashCode(), toString() never need bridges if (isMethodOfAny(descriptor)) return; diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/JvmBridgesImpl.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/JvmBridgesImpl.kt index f027639a518..7aeec2c6b91 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/JvmBridgesImpl.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/JvmBridgesImpl.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.codegen import org.jetbrains.kotlin.backend.common.bridges.* import org.jetbrains.kotlin.codegen.state.GenerationState -import org.jetbrains.kotlin.config.JvmTarget import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor import org.jetbrains.kotlin.descriptors.FunctionDescriptor import org.jetbrains.kotlin.resolve.DescriptorUtils @@ -27,7 +26,7 @@ class DescriptorBasedFunctionHandleForJvm( For non-@JvmDefault interfaces function, its body is generated in a separate place (DefaultImpls) and the method in the interface is abstract so we must not generate bridges for such cases. */ - override val isAbstract: Boolean = super.isAbstract || isAbstractOnJvmIgnoringActualModality(state, descriptor) + override val isAbstract: Boolean = super.isAbstract || isAbstractOnJvmIgnoringActualModality(descriptor) override val mayBeUsedAsSuperImplementation: Boolean = super.mayBeUsedAsSuperImplementation || descriptor.isJvmDefaultOrPlatformDependent() @@ -52,9 +51,8 @@ private fun needToGenerateDelegationToDefaultImpls(descriptor: FunctionDescripto /** * @return return true for interface method not annotated with @JvmDefault or @PlatformDependent */ -fun isAbstractOnJvmIgnoringActualModality(state: GenerationState, descriptor: FunctionDescriptor): Boolean { +fun isAbstractOnJvmIgnoringActualModality(descriptor: FunctionDescriptor): Boolean { if (!DescriptorUtils.isInterface(descriptor.containingDeclaration)) return false - if (state.target == JvmTarget.JVM_1_6) return true return !descriptor.isJvmDefaultOrPlatformDependent() }