From b95d3e711e53dd8dda961a63cdfde50ddadef919 Mon Sep 17 00:00:00 2001 From: Kristoffer Andersen Date: Tue, 23 Jun 2020 14:25:01 +0200 Subject: [PATCH] [JVM IR] KT-36985: $default respects @Deprecated $default dispatch methods gains @Deprecated if the original function with default arguments has it. --- .../org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt | 2 +- .../bytecodeListing/annotations/deprecatedJvmOverloads.kt | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt index c2488dbb656..f5a8138b5b8 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/codegen/FunctionCodegen.kt @@ -134,7 +134,7 @@ class FunctionCodegen( private fun IrFunction.calculateMethodFlags(): Int { if (origin == IrDeclarationOrigin.FUNCTION_FOR_DEFAULT_PARAMETER) { - return getVisibilityForDefaultArgumentStub() or Opcodes.ACC_SYNTHETIC.let { + return getVisibilityForDefaultArgumentStub() or Opcodes.ACC_SYNTHETIC or deprecationFlags.let { if (this is IrConstructor) it else it or Opcodes.ACC_STATIC } } diff --git a/compiler/testData/codegen/bytecodeListing/annotations/deprecatedJvmOverloads.kt b/compiler/testData/codegen/bytecodeListing/annotations/deprecatedJvmOverloads.kt index cebdb0077e9..5f8714792ef 100644 --- a/compiler/testData/codegen/bytecodeListing/annotations/deprecatedJvmOverloads.kt +++ b/compiler/testData/codegen/bytecodeListing/annotations/deprecatedJvmOverloads.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: JVM_IR // WITH_RUNTIME class Foo {