From f0a1d3e3b1e2e76c61cbc7af65f0e527bd1e8d45 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Tue, 24 Jan 2023 16:33:58 +0100 Subject: [PATCH] FIR2IR: generate modifiers in reference adapters as PSI2IR does In particular, this commit makes isExternal, isExpect and isTailRec always false for FIR2IR reference adapters #KT-55461 Fixed --- .../kotlin/fir/backend/generators/AdapterGenerator.kt | 6 +++--- .../callableReference/adaptedReferences/adaptedArrayOf.kt | 3 --- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/AdapterGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/AdapterGenerator.kt index 089ffad18b3..7e3c571593b 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/AdapterGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/AdapterGenerator.kt @@ -212,12 +212,12 @@ internal class AdapterGenerator( Modality.FINAL, returnType, isInline = firMemberAdaptee.isInline, - isExternal = firMemberAdaptee.isExternal, - isTailrec = firMemberAdaptee.isTailRec, + isExternal = false, + isTailrec = false, isSuspend = firMemberAdaptee.isSuspend || type.isSuspendFunction(), isOperator = firMemberAdaptee.isOperator, isInfix = firMemberAdaptee.isInfix, - isExpect = firMemberAdaptee.isExpect, + isExpect = false, isFakeOverride = false ).also { irAdapterFunction -> irAdapterFunction.metadata = FirMetadataSource.Function(firAdaptee) diff --git a/compiler/testData/codegen/box/callableReference/adaptedReferences/adaptedArrayOf.kt b/compiler/testData/codegen/box/callableReference/adaptedReferences/adaptedArrayOf.kt index 129dae24c61..a566931ac92 100644 --- a/compiler/testData/codegen/box/callableReference/adaptedReferences/adaptedArrayOf.kt +++ b/compiler/testData/codegen/box/callableReference/adaptedReferences/adaptedArrayOf.kt @@ -1,6 +1,3 @@ -// KT-55461 -// IGNORE_BACKEND_K2: NATIVE - fun test(f: (Int, Int) -> Array) = f('O'.toInt(), 'K'.toInt())