From 04e8cba8570a6ffc77bf5af06da2ebf10a03b02c Mon Sep 17 00:00:00 2001 From: Juan Chen Date: Fri, 7 Feb 2020 13:52:01 -0800 Subject: [PATCH] [FIR] fixed overridden symbols of "invoke" in KFunction IR expects overridden symbols of "invoke" in KFunction to be "invoke" in the corresponding Function classes. Before this commit we don't set overriddenSymbol, now we do. --- .../fir/backend/Fir2IrDeclarationStorage.kt | 19 +++--- .../kotlin/fir/resolve/ResolveUtils.kt | 11 ++- .../resolve/impl/FirBuiltinSymbolProvider.kt | 68 +++++++++++-------- .../function/abstractClassMember.kt | 1 - .../function/classMemberFromClass.kt | 1 - .../function/classMemberFromExtension.kt | 1 - .../classMemberFromTopLevelStringNoArgs.kt | 1 - ...assMemberFromTopLevelStringOneStringArg.kt | 1 - .../classMemberFromTopLevelUnitNoArgs.kt | 1 - ...classMemberFromTopLevelUnitOneStringArg.kt | 1 - .../function/constructorFromTopLevelNoArgs.kt | 1 - .../constructorFromTopLevelOneStringArg.kt | 1 - .../function/equalsIntrinsic.kt | 1 - .../function/extensionFromClass.kt | 1 - .../function/extensionFromExtension.kt | 1 - .../extensionFromTopLevelStringNoArgs.kt | 1 - ...extensionFromTopLevelStringOneStringArg.kt | 1 - .../extensionFromTopLevelUnitNoArgs.kt | 1 - .../extensionFromTopLevelUnitOneStringArg.kt | 1 - .../function/local/constructor.kt | 1 - .../local/constructorWithInitializer.kt | 1 - .../nestedConstructorFromTopLevelNoArgs.kt | 1 - ...stedConstructorFromTopLevelOneStringArg.kt | 1 - .../function/privateClassMember.kt | 1 - .../function/topLevelFromClass.kt | 1 - .../function/topLevelFromExtension.kt | 1 - .../topLevelFromTopLevelStringOneStringArg.kt | 1 - .../topLevelFromTopLevelUnitNoArgs.kt | 1 - .../topLevelFromTopLevelUnitOneStringArg.kt | 1 - .../callableReference/function/traitMember.kt | 1 - .../codegen/box/jvmName/callableReference.kt | 1 - .../optimized/callableRefToFun.kt | 1 - 32 files changed, 58 insertions(+), 69 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index 9c51ae30156..b2b9b7efc28 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -16,13 +16,8 @@ import org.jetbrains.kotlin.fir.descriptors.FirModuleDescriptor import org.jetbrains.kotlin.fir.descriptors.FirPackageFragmentDescriptor import org.jetbrains.kotlin.fir.psi import org.jetbrains.kotlin.fir.render -import org.jetbrains.kotlin.fir.resolve.firProvider -import org.jetbrains.kotlin.fir.resolve.firSymbolProvider -import org.jetbrains.kotlin.fir.resolve.getOrPut -import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.resolve.* +import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.types.arrayElementType @@ -421,11 +416,12 @@ class Fir2IrDeclarationStorage( fun create(): IrSimpleFunction { val containerSource = function.containerSource val descriptor = containerSource?.let { WrappedFunctionDescriptorWithContainerSource(it) } ?: WrappedSimpleFunctionDescriptor() + val updatedOrigin = if (function.symbol.callableId.isKFunctionInvoke()) IrDeclarationOrigin.FAKE_OVERRIDE else origin return function.convertWithOffsets { startOffset, endOffset -> enterScope(descriptor) val result = irSymbolTable.declareSimpleFunction(startOffset, endOffset, origin, descriptor) { symbol -> IrFunctionImpl( - startOffset, endOffset, origin, symbol, + startOffset, endOffset, updatedOrigin, symbol, function.name, function.visibility, function.modality!!, function.returnTypeRef.toIrType(session, this), isInline = function.isInline, @@ -433,7 +429,7 @@ class Fir2IrDeclarationStorage( isTailrec = function.isTailRec, isSuspend = function.isSuspend, isExpect = function.isExpect, - isFakeOverride = origin == IrDeclarationOrigin.FAKE_OVERRIDE, + isFakeOverride = updatedOrigin == IrDeclarationOrigin.FAKE_OVERRIDE, isOperator = function.isOperator ) } @@ -775,6 +771,11 @@ class Fir2IrDeclarationStorage( is FirSimpleFunction -> { val irDeclaration = getIrFunction(firDeclaration, irParent, shouldLeaveScope = true).apply { setAndModifyParent(irParent) + } as IrSimpleFunction + if (firFunctionSymbol.callableId.isKFunctionInvoke()) { + (firFunctionSymbol.overriddenSymbol as? FirNamedFunctionSymbol)?.let { + irDeclaration.overriddenSymbols += (it.toFunctionSymbol(this) as IrSimpleFunctionSymbol) + } } irSymbolTable.referenceSimpleFunction(irDeclaration.descriptor) } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt index 1561b042787..a4d090421cd 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/ResolveUtils.kt @@ -13,7 +13,6 @@ import org.jetbrains.kotlin.fir.diagnostics.DiagnosticKind import org.jetbrains.kotlin.fir.diagnostics.FirSimpleDiagnostic import org.jetbrains.kotlin.fir.diagnostics.FirStubDiagnostic import org.jetbrains.kotlin.fir.expressions.* -import org.jetbrains.kotlin.fir.expressions.builder.FirResolvedQualifierBuilder import org.jetbrains.kotlin.fir.expressions.builder.FirResolvedReifiedParameterReferenceBuilder import org.jetbrains.kotlin.fir.expressions.impl.FirExpressionWithSmartcastImpl import org.jetbrains.kotlin.fir.references.FirErrorNamedReference @@ -463,6 +462,12 @@ fun BodyResolveComponents.transformQualifiedAccessUsingSmartcastInfo(qualifiedAc } fun CallableId.isInvoke() = - packageName == KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME + isKFunctionInvoke() + || callableName.asString() == "invoke" && className?.asString()?.startsWith("Function") == true - && callableName.asString() == "invoke" + && packageName == KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME + +fun CallableId.isKFunctionInvoke() = + callableName.asString() == "invoke" + && className?.asString()?.startsWith("KFunction") == true + && packageName.asString() == "kotlin.reflect" \ No newline at end of file diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirBuiltinSymbolProvider.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirBuiltinSymbolProvider.kt index 657f6765758..e2d07e9a6ed 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirBuiltinSymbolProvider.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirBuiltinSymbolProvider.kt @@ -7,10 +7,7 @@ package org.jetbrains.kotlin.fir.resolve.impl import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor -import org.jetbrains.kotlin.descriptors.ClassKind -import org.jetbrains.kotlin.descriptors.Modality -import org.jetbrains.kotlin.descriptors.SourceElement -import org.jetbrains.kotlin.descriptors.Visibilities +import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.buildClassImpl @@ -209,30 +206,11 @@ class FirBuiltinSymbolProvider(val session: FirSession, val kotlinScopeProvider: type = ConeTypeParameterTypeImpl(it.symbol.toLookupTag(), false) } } - - addDeclaration( - buildSimpleFunction { - session = this@FirBuiltinSymbolProvider.session - returnTypeRef = typeArguments.last() - this.name = name - status = functionStatus - symbol = FirNamedFunctionSymbol(CallableId(packageFqName, relativeClassName, name)) - resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES - valueParameters += typeArguments.dropLast(1).mapIndexed { index, typeArgument -> - val parameterName = Name.identifier("p${index + 1}") - buildValueParameter { - session = this@FirBuiltinSymbolProvider.session - returnTypeRef = typeArgument - this.name = parameterName - symbol = FirVariableSymbol(parameterName) - defaultValue = null - isCrossinline = false - isNoinline = false - isVararg = false - } - } - }, - ) + val superKind: FunctionClassDescriptor.Kind? = when (kind) { + FunctionClassDescriptor.Kind.KFunction -> FunctionClassDescriptor.Kind.Function + FunctionClassDescriptor.Kind.KSuspendFunction -> FunctionClassDescriptor.Kind.SuspendFunction + else -> null + } fun createSuperType( kind: FunctionClassDescriptor.Kind, @@ -259,12 +237,46 @@ class FirBuiltinSymbolProvider(val session: FirSession, val kotlinScopeProvider: FunctionClassDescriptor.Kind.KSuspendFunction -> createSuperType(FunctionClassDescriptor.Kind.SuspendFunction) } + addDeclaration( + buildSimpleFunction { + session = this@FirBuiltinSymbolProvider.session + returnTypeRef = typeArguments.last() + this.name = name + status = functionStatus + symbol = FirNamedFunctionSymbol( + CallableId(packageFqName, relativeClassName, name), + // set overriddenSymbol for "invoke" of KFunction/KSuspendFunction + superKind != null, superKind?.getInvoke(arity) + ) + resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES + valueParameters += typeArguments.dropLast(1).mapIndexed { index, typeArgument -> + val parameterName = Name.identifier("p${index + 1}") + buildValueParameter { + session = this@FirBuiltinSymbolProvider.session + returnTypeRef = typeArgument + this.name = parameterName + symbol = FirVariableSymbol(parameterName) + defaultValue = null + isCrossinline = false + isNoinline = false + isVararg = false + } + } + } + ) } } } } } + // Find the symbol for "invoke" in the function class + private fun FunctionClassDescriptor.Kind.getInvoke(arity: Int): FirNamedFunctionSymbol? { + val functionClass = getClassLikeSymbolByFqName(classId(arity)) ?: return null + val invoke = + functionClass.fir.declarations.find { it is FirSimpleFunction && it.name == OperatorNameConventions.INVOKE } ?: return null + return (invoke as FirSimpleFunction).symbol as? FirNamedFunctionSymbol + } override fun getClassLikeSymbolByFqName(classId: ClassId): FirRegularClassSymbol? { return allPackageFragments[classId.packageFqName]?.firstNotNullResult { diff --git a/compiler/testData/codegen/box/callableReference/function/abstractClassMember.kt b/compiler/testData/codegen/box/callableReference/function/abstractClassMember.kt index bf67374877f..515b25914d0 100644 --- a/compiler/testData/codegen/box/callableReference/function/abstractClassMember.kt +++ b/compiler/testData/codegen/box/callableReference/function/abstractClassMember.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR abstract class A { abstract fun foo(): String } diff --git a/compiler/testData/codegen/box/callableReference/function/classMemberFromClass.kt b/compiler/testData/codegen/box/callableReference/function/classMemberFromClass.kt index 0ef884ce484..3ed816ee504 100644 --- a/compiler/testData/codegen/box/callableReference/function/classMemberFromClass.kt +++ b/compiler/testData/codegen/box/callableReference/function/classMemberFromClass.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { fun foo(k: Int) = k diff --git a/compiler/testData/codegen/box/callableReference/function/classMemberFromExtension.kt b/compiler/testData/codegen/box/callableReference/function/classMemberFromExtension.kt index 5f3309f9d46..9619233c943 100644 --- a/compiler/testData/codegen/box/callableReference/function/classMemberFromExtension.kt +++ b/compiler/testData/codegen/box/callableReference/function/classMemberFromExtension.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { fun o() = 111 fun k(k: Int) = k diff --git a/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelStringNoArgs.kt b/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelStringNoArgs.kt index 7a78e416055..4ea10740594 100644 --- a/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelStringNoArgs.kt +++ b/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelStringNoArgs.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { fun foo() = "OK" } diff --git a/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelStringOneStringArg.kt b/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelStringOneStringArg.kt index a1195d0d94e..acdf2f897d5 100644 --- a/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelStringOneStringArg.kt +++ b/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelStringOneStringArg.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { fun foo(result: String) = result } diff --git a/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelUnitNoArgs.kt b/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelUnitNoArgs.kt index ff94b3cbaea..37ebbdb72eb 100644 --- a/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelUnitNoArgs.kt +++ b/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelUnitNoArgs.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { var result = "Fail" diff --git a/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelUnitOneStringArg.kt b/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelUnitOneStringArg.kt index 789b12c8ea2..3b280c28f34 100644 --- a/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelUnitOneStringArg.kt +++ b/compiler/testData/codegen/box/callableReference/function/classMemberFromTopLevelUnitOneStringArg.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { var result = "Fail" diff --git a/compiler/testData/codegen/box/callableReference/function/constructorFromTopLevelNoArgs.kt b/compiler/testData/codegen/box/callableReference/function/constructorFromTopLevelNoArgs.kt index c17305ffbd7..db7b7fd01ef 100644 --- a/compiler/testData/codegen/box/callableReference/function/constructorFromTopLevelNoArgs.kt +++ b/compiler/testData/codegen/box/callableReference/function/constructorFromTopLevelNoArgs.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { var result = "OK" } diff --git a/compiler/testData/codegen/box/callableReference/function/constructorFromTopLevelOneStringArg.kt b/compiler/testData/codegen/box/callableReference/function/constructorFromTopLevelOneStringArg.kt index 6e64c0e4b04..63a861dbcf4 100644 --- a/compiler/testData/codegen/box/callableReference/function/constructorFromTopLevelOneStringArg.kt +++ b/compiler/testData/codegen/box/callableReference/function/constructorFromTopLevelOneStringArg.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A(val result: String) fun box() = (::A)("OK").result diff --git a/compiler/testData/codegen/box/callableReference/function/equalsIntrinsic.kt b/compiler/testData/codegen/box/callableReference/function/equalsIntrinsic.kt index 595ce9bb7ae..c83a188802d 100644 --- a/compiler/testData/codegen/box/callableReference/function/equalsIntrinsic.kt +++ b/compiler/testData/codegen/box/callableReference/function/equalsIntrinsic.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A fun box() = if ((A::equals)(A(), A())) "Fail" else "OK" diff --git a/compiler/testData/codegen/box/callableReference/function/extensionFromClass.kt b/compiler/testData/codegen/box/callableReference/function/extensionFromClass.kt index 817a2638f65..0248c2f9f2c 100644 --- a/compiler/testData/codegen/box/callableReference/function/extensionFromClass.kt +++ b/compiler/testData/codegen/box/callableReference/function/extensionFromClass.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { fun result() = (A::foo)(this, "OK") } diff --git a/compiler/testData/codegen/box/callableReference/function/extensionFromExtension.kt b/compiler/testData/codegen/box/callableReference/function/extensionFromExtension.kt index 99e55639d26..103ceee5cbc 100644 --- a/compiler/testData/codegen/box/callableReference/function/extensionFromExtension.kt +++ b/compiler/testData/codegen/box/callableReference/function/extensionFromExtension.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A fun A.foo() = (A::bar)(this, "OK") diff --git a/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelStringNoArgs.kt b/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelStringNoArgs.kt index 45341fb70ce..0276c11528f 100644 --- a/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelStringNoArgs.kt +++ b/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelStringNoArgs.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun run(arg1: A, funRef:A.() -> String): String { return arg1.funRef() } diff --git a/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelStringOneStringArg.kt b/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelStringOneStringArg.kt index 2be0bf729c6..b664d0338ff 100644 --- a/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelStringOneStringArg.kt +++ b/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelStringOneStringArg.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun run(arg1: A, arg2: String, funRef:A.(String) -> String): String { return arg1.funRef(arg2) } diff --git a/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelUnitNoArgs.kt b/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelUnitNoArgs.kt index 46a2c636293..b590ad2ec91 100644 --- a/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelUnitNoArgs.kt +++ b/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelUnitNoArgs.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { var result = "Fail" } diff --git a/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelUnitOneStringArg.kt b/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelUnitOneStringArg.kt index 84a3a2f7a94..3c2e270f486 100644 --- a/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelUnitOneStringArg.kt +++ b/compiler/testData/codegen/box/callableReference/function/extensionFromTopLevelUnitOneStringArg.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun run(arg1: A, arg2: String, funRef:A.(String) -> Unit): Unit { return arg1.funRef(arg2) } diff --git a/compiler/testData/codegen/box/callableReference/function/local/constructor.kt b/compiler/testData/codegen/box/callableReference/function/local/constructor.kt index b61ef844ea1..291af016082 100644 --- a/compiler/testData/codegen/box/callableReference/function/local/constructor.kt +++ b/compiler/testData/codegen/box/callableReference/function/local/constructor.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { class A { val result = "OK" diff --git a/compiler/testData/codegen/box/callableReference/function/local/constructorWithInitializer.kt b/compiler/testData/codegen/box/callableReference/function/local/constructorWithInitializer.kt index a2504890ba6..0e8c0a25839 100644 --- a/compiler/testData/codegen/box/callableReference/function/local/constructorWithInitializer.kt +++ b/compiler/testData/codegen/box/callableReference/function/local/constructorWithInitializer.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun box(): String { class A { var result: String = "Fail"; diff --git a/compiler/testData/codegen/box/callableReference/function/nestedConstructorFromTopLevelNoArgs.kt b/compiler/testData/codegen/box/callableReference/function/nestedConstructorFromTopLevelNoArgs.kt index 6bb9258b6e1..f99dd41ae86 100644 --- a/compiler/testData/codegen/box/callableReference/function/nestedConstructorFromTopLevelNoArgs.kt +++ b/compiler/testData/codegen/box/callableReference/function/nestedConstructorFromTopLevelNoArgs.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { class Nested { val result = "OK" diff --git a/compiler/testData/codegen/box/callableReference/function/nestedConstructorFromTopLevelOneStringArg.kt b/compiler/testData/codegen/box/callableReference/function/nestedConstructorFromTopLevelOneStringArg.kt index e6dcda9cf92..3f0c03c67f3 100644 --- a/compiler/testData/codegen/box/callableReference/function/nestedConstructorFromTopLevelOneStringArg.kt +++ b/compiler/testData/codegen/box/callableReference/function/nestedConstructorFromTopLevelOneStringArg.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { class Nested(val result: String) } diff --git a/compiler/testData/codegen/box/callableReference/function/privateClassMember.kt b/compiler/testData/codegen/box/callableReference/function/privateClassMember.kt index c4dbf947d57..f99ac7e3ad6 100644 --- a/compiler/testData/codegen/box/callableReference/function/privateClassMember.kt +++ b/compiler/testData/codegen/box/callableReference/function/privateClassMember.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR class A { private fun foo() = "OK" diff --git a/compiler/testData/codegen/box/callableReference/function/topLevelFromClass.kt b/compiler/testData/codegen/box/callableReference/function/topLevelFromClass.kt index be2e435e7e7..48f8b3698e6 100644 --- a/compiler/testData/codegen/box/callableReference/function/topLevelFromClass.kt +++ b/compiler/testData/codegen/box/callableReference/function/topLevelFromClass.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun run(arg1: T, arg2: T, funRef:(T,T) -> T): T { return funRef(arg1, arg2) } diff --git a/compiler/testData/codegen/box/callableReference/function/topLevelFromExtension.kt b/compiler/testData/codegen/box/callableReference/function/topLevelFromExtension.kt index 799ae9513a1..cd8cf660a11 100644 --- a/compiler/testData/codegen/box/callableReference/function/topLevelFromExtension.kt +++ b/compiler/testData/codegen/box/callableReference/function/topLevelFromExtension.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun run(arg1: T, arg2: T, funRef:(T,T) -> T): T { return funRef(arg1, arg2) } diff --git a/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelStringOneStringArg.kt b/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelStringOneStringArg.kt index 05a1a73ca65..78cb93f0873 100644 --- a/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelStringOneStringArg.kt +++ b/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelStringOneStringArg.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR fun foo(x: String) = x fun box(): String { diff --git a/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelUnitNoArgs.kt b/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelUnitNoArgs.kt index 84df68873c6..a388ed73d4e 100644 --- a/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelUnitNoArgs.kt +++ b/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelUnitNoArgs.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR var result = "Fail" fun foo() { diff --git a/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelUnitOneStringArg.kt b/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelUnitOneStringArg.kt index 296f729b290..a15697e48b4 100644 --- a/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelUnitOneStringArg.kt +++ b/compiler/testData/codegen/box/callableReference/function/topLevelFromTopLevelUnitOneStringArg.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR var result = "Fail" fun foo(newResult: String) { diff --git a/compiler/testData/codegen/box/callableReference/function/traitMember.kt b/compiler/testData/codegen/box/callableReference/function/traitMember.kt index f36f7f46732..88cf738eaa7 100644 --- a/compiler/testData/codegen/box/callableReference/function/traitMember.kt +++ b/compiler/testData/codegen/box/callableReference/function/traitMember.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR interface A { fun foo(): String } diff --git a/compiler/testData/codegen/box/jvmName/callableReference.kt b/compiler/testData/codegen/box/jvmName/callableReference.kt index c857458d0f1..e7d1e3c20ff 100644 --- a/compiler/testData/codegen/box/jvmName/callableReference.kt +++ b/compiler/testData/codegen/box/jvmName/callableReference.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // WITH_RUNTIME diff --git a/compiler/testData/codegen/box/multifileClasses/optimized/callableRefToFun.kt b/compiler/testData/codegen/box/multifileClasses/optimized/callableRefToFun.kt index 8a77ed5547b..26471b5a732 100644 --- a/compiler/testData/codegen/box/multifileClasses/optimized/callableRefToFun.kt +++ b/compiler/testData/codegen/box/multifileClasses/optimized/callableRefToFun.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // TARGET_BACKEND: JVM // IGNORE_LIGHT_ANALYSIS // WITH_RUNTIME