diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDataClassConverters.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDataClassConverters.kt index ce914741392..9c56e7738ab 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDataClassConverters.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDataClassConverters.kt @@ -1691,6 +1691,12 @@ internal val KT_DIAGNOSTIC_CONVERTER = KtDiagnosticConverterBuilder.buildConvert token, ) } + add(FirErrors.ANONYMOUS_SUSPEND_FUNCTION) { firDiagnostic -> + AnonymousSuspendFunctionImpl( + firDiagnostic as KtPsiDiagnostic, + token, + ) + } add(FirErrors.VALUE_CLASS_NOT_TOP_LEVEL) { firDiagnostic -> ValueClassNotTopLevelImpl( firDiagnostic as KtPsiDiagnostic, diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDiagnostics.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDiagnostics.kt index ffe0cee30c6..e9abb5979ad 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDiagnostics.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDiagnostics.kt @@ -1220,6 +1220,10 @@ sealed interface KtFirDiagnostic : KtDiagnosticWithPsi { override val diagnosticClass get() = NoExplicitReturnTypeInApiModeWarning::class } + interface AnonymousSuspendFunction : KtFirDiagnostic { + override val diagnosticClass get() = AnonymousSuspendFunction::class + } + interface ValueClassNotTopLevel : KtFirDiagnostic { override val diagnosticClass get() = ValueClassNotTopLevel::class } diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDiagnosticsImpl.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDiagnosticsImpl.kt index fd29b283c5c..1a5b9abbf0a 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDiagnosticsImpl.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/diagnostics/KtFirDiagnosticsImpl.kt @@ -1460,6 +1460,11 @@ internal class NoExplicitReturnTypeInApiModeWarningImpl( token: KtLifetimeToken, ) : KtAbstractFirDiagnostic(firDiagnostic, token), KtFirDiagnostic.NoExplicitReturnTypeInApiModeWarning +internal class AnonymousSuspendFunctionImpl( + firDiagnostic: KtPsiDiagnostic, + token: KtLifetimeToken, +) : KtAbstractFirDiagnostic(firDiagnostic, token), KtFirDiagnostic.AnonymousSuspendFunction + internal class ValueClassNotTopLevelImpl( firDiagnostic: KtPsiDiagnostic, token: KtLifetimeToken, diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFirTestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFirTestdataTestGenerated.java index 4412818498e..09855c399ee 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFirTestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFirTestdataTestGenerated.java @@ -2027,6 +2027,12 @@ public class DiagnosticCompilerTestFirTestdataTestGenerated extends AbstractDiag runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/supertypeInitializedWithoutPrimaryConstructor.kt"); } + @Test + @TestMetadata("suspendAnonymousFunction.kt") + public void testSuspendAnonymousFunction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/suspendAnonymousFunction.kt"); + } + @Test @TestMetadata("testIllegalAnnotationClass.kt") public void testTestIllegalAnnotationClass() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated.java index dbc6fec71b9..4b1047b7fa6 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated.java @@ -2027,6 +2027,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFirTestDataTestGenerated runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/supertypeInitializedWithoutPrimaryConstructor.kt"); } + @Test + @TestMetadata("suspendAnonymousFunction.kt") + public void testSuspendAnonymousFunction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/suspendAnonymousFunction.kt"); + } + @Test @TestMetadata("testIllegalAnnotationClass.kt") public void testTestIllegalAnnotationClass() throws Exception { diff --git a/compiler/fir/analysis-tests/testData/resolve/diagnostics/suspendAnonymousFunction.fir.txt b/compiler/fir/analysis-tests/testData/resolve/diagnostics/suspendAnonymousFunction.fir.txt new file mode 100644 index 00000000000..01199514b74 --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/diagnostics/suspendAnonymousFunction.fir.txt @@ -0,0 +1,13 @@ +FILE: suspendAnonymousFunction.kt + public final fun take(f: R|suspend () -> kotlin/Unit|): R|kotlin/Unit| { + } + public final fun test_1(): R|kotlin/Unit| { + suspend fun (): R|kotlin/Unit| { + } + + } + public final fun test_2(): R|kotlin/Unit| { + R|/take#|(#, fun (): R|kotlin/Unit| { + } + ) + } diff --git a/compiler/fir/analysis-tests/testData/resolve/diagnostics/suspendAnonymousFunction.kt b/compiler/fir/analysis-tests/testData/resolve/diagnostics/suspendAnonymousFunction.kt new file mode 100644 index 00000000000..c804bbe861b --- /dev/null +++ b/compiler/fir/analysis-tests/testData/resolve/diagnostics/suspendAnonymousFunction.kt @@ -0,0 +1,11 @@ +// ISSUE: KT-62018, KT-62019 + +fun take(f: suspend () -> Unit) {} + +fun test_1() { + suspend fun() {} +} + +fun test_2() { + take(suspend fun () {}) +} diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java index 1c9ed80257f..8624eb1ac1a 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeDiagnosticsTestGenerated.java @@ -2027,6 +2027,12 @@ public class FirLightTreeDiagnosticsTestGenerated extends AbstractFirLightTreeDi runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/supertypeInitializedWithoutPrimaryConstructor.kt"); } + @Test + @TestMetadata("suspendAnonymousFunction.kt") + public void testSuspendAnonymousFunction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/suspendAnonymousFunction.kt"); + } + @Test @TestMetadata("testIllegalAnnotationClass.kt") public void testTestIllegalAnnotationClass() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java index 886347a71ad..9edbee066f3 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiDiagnosticTestGenerated.java @@ -2027,6 +2027,12 @@ public class FirPsiDiagnosticTestGenerated extends AbstractFirPsiDiagnosticTest runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/supertypeInitializedWithoutPrimaryConstructor.kt"); } + @Test + @TestMetadata("suspendAnonymousFunction.kt") + public void testSuspendAnonymousFunction() throws Exception { + runTest("compiler/fir/analysis-tests/testData/resolve/diagnostics/suspendAnonymousFunction.kt"); + } + @Test @TestMetadata("testIllegalAnnotationClass.kt") public void testTestIllegalAnnotationClass() throws Exception { diff --git a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/FirDiagnosticsList.kt b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/FirDiagnosticsList.kt index 8b754fc57ce..92e6670f093 100644 --- a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/FirDiagnosticsList.kt +++ b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/FirDiagnosticsList.kt @@ -516,6 +516,8 @@ object DIAGNOSTICS_LIST : DiagnosticList("FirErrors") { val NO_EXPLICIT_RETURN_TYPE_IN_API_MODE by error(PositioningStrategy.DECLARATION_NAME) val NO_EXPLICIT_RETURN_TYPE_IN_API_MODE_WARNING by warning(PositioningStrategy.DECLARATION_NAME) + + val ANONYMOUS_SUSPEND_FUNCTION by error(PositioningStrategy.SUSPEND_MODIFIER) } val VALUE_CLASSES by object : DiagnosticGroup("Value classes") { diff --git a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/model/RegularDiagnosticData.kt b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/model/RegularDiagnosticData.kt index 934a1090b12..dce0813a768 100644 --- a/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/model/RegularDiagnosticData.kt +++ b/compiler/fir/checkers/checkers-component-generator/src/org/jetbrains/kotlin/fir/checkers/generator/diagnostics/model/RegularDiagnosticData.kt @@ -66,6 +66,7 @@ enum class PositioningStrategy(private val strategy: String? = null) { LATEINIT_MODIFIER, INLINE_OR_VALUE_MODIFIER, INNER_MODIFIER, + SUSPEND_MODIFIER, SELECTOR_BY_QUALIFIED, REFERENCE_BY_QUALIFIED, REFERENCED_NAME_BY_QUALIFIED, diff --git a/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrors.kt b/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrors.kt index e80d3ad2c88..48aa1ba70fa 100644 --- a/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrors.kt +++ b/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrors.kt @@ -358,6 +358,7 @@ object FirErrors { val NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING: KtDiagnosticFactory0 by warning0(SourceElementPositioningStrategies.DECLARATION_START_TO_NAME) val NO_EXPLICIT_RETURN_TYPE_IN_API_MODE: KtDiagnosticFactory0 by error0(SourceElementPositioningStrategies.DECLARATION_NAME) val NO_EXPLICIT_RETURN_TYPE_IN_API_MODE_WARNING: KtDiagnosticFactory0 by warning0(SourceElementPositioningStrategies.DECLARATION_NAME) + val ANONYMOUS_SUSPEND_FUNCTION: KtDiagnosticFactory0 by error0(SourceElementPositioningStrategies.SUSPEND_MODIFIER) // Value classes val VALUE_CLASS_NOT_TOP_LEVEL: KtDiagnosticFactory0 by error0(SourceElementPositioningStrategies.INLINE_OR_VALUE_MODIFIER) diff --git a/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirNonSuppressibleErrorNames.kt b/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirNonSuppressibleErrorNames.kt index 1ade479426b..48b4744ef70 100644 --- a/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirNonSuppressibleErrorNames.kt +++ b/compiler/fir/checkers/gen/org/jetbrains/kotlin/fir/analysis/diagnostics/FirNonSuppressibleErrorNames.kt @@ -209,6 +209,7 @@ val FIR_NON_SUPPRESSIBLE_ERROR_NAMES: Set = setOf( "INAPPLICABLE_OPERATOR_MODIFIER", "NO_EXPLICIT_VISIBILITY_IN_API_MODE", "NO_EXPLICIT_RETURN_TYPE_IN_API_MODE", + "ANONYMOUS_SUSPEND_FUNCTION", "VALUE_CLASS_NOT_TOP_LEVEL", "VALUE_CLASS_NOT_FINAL", "ABSENCE_OF_PRIMARY_CONSTRUCTOR_FOR_VALUE_CLASS", diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/CommonDeclarationCheckers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/CommonDeclarationCheckers.kt index f14da240e33..14441a18983 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/CommonDeclarationCheckers.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/CommonDeclarationCheckers.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirAnonymousFunctio import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirFiniteBoundRestrictionChecker import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirInlinedLambdaNonSourceAnnotationsChecker import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirMissingDependencySupertypeChecker +import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirSuspendAnonymousFunctionChecker import org.jetbrains.kotlin.fir.analysis.checkers.syntax.* object CommonDeclarationCheckers : DeclarationCheckers() { @@ -195,6 +196,7 @@ object CommonDeclarationCheckers : DeclarationCheckers() { FirAnonymousFunctionParametersChecker, FirInlinedLambdaNonSourceAnnotationsChecker, FirAnonymousFunctionSyntaxChecker, + FirSuspendAnonymousFunctionChecker, ) override val anonymousInitializerCheckers: Set diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirSuspendAnonymousFunctionChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirSuspendAnonymousFunctionChecker.kt new file mode 100644 index 00000000000..4e81bda7bfa --- /dev/null +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirSuspendAnonymousFunctionChecker.kt @@ -0,0 +1,22 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.fir.analysis.checkers.expression + +import org.jetbrains.kotlin.diagnostics.DiagnosticReporter +import org.jetbrains.kotlin.diagnostics.reportOn +import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext +import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirAnonymousFunctionChecker +import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors +import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction +import org.jetbrains.kotlin.fir.declarations.utils.isSuspend + +object FirSuspendAnonymousFunctionChecker : FirAnonymousFunctionChecker() { + override fun check(declaration: FirAnonymousFunction, context: CheckerContext, reporter: DiagnosticReporter) { + if (!declaration.isLambda && declaration.isSuspend) { + reporter.reportOn(declaration.source, FirErrors.ANONYMOUS_SUSPEND_FUNCTION, context) + } + } +} diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrorsDefaultMessages.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrorsDefaultMessages.kt index 45f6b9706f5..98a54ad0087 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrorsDefaultMessages.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/diagnostics/FirErrorsDefaultMessages.kt @@ -96,6 +96,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.ANNOTATION_USED_A import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.ANONYMOUS_FUNCTION_PARAMETER_WITH_DEFAULT_VALUE import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.ANONYMOUS_FUNCTION_WITH_NAME import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.ANONYMOUS_INITIALIZER_IN_INTERFACE +import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.ANONYMOUS_SUSPEND_FUNCTION import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.API_NOT_AVAILABLE import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.ARGUMENT_PASSED_TWICE import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.ARGUMENT_TYPE_MISMATCH @@ -1155,6 +1156,7 @@ object FirErrorsDefaultMessages : BaseDiagnosticRendererFactory() { map.put(NO_EXPLICIT_RETURN_TYPE_IN_API_MODE, "Return type must be specified in explicit API mode.") map.put(NO_EXPLICIT_VISIBILITY_IN_API_MODE_WARNING, "Visibility must be specified in explicit API mode.") map.put(NO_EXPLICIT_RETURN_TYPE_IN_API_MODE_WARNING, "Return type must be specified in explicit API mode.") + map.put(ANONYMOUS_SUSPEND_FUNCTION, "Anonymous suspend functions are prohibited.") map.put(INCOMPATIBLE_MODIFIERS, "Modifier ''{0}'' is incompatible with ''{1}''.", TO_STRING, TO_STRING) map.put(REDUNDANT_OPEN_IN_INTERFACE, "Modifier 'open' is redundant for abstract interface members.") diff --git a/compiler/testData/diagnostics/tests/modifiers/suspendAnonymousFunction.fir.kt b/compiler/testData/diagnostics/tests/modifiers/suspendAnonymousFunction.fir.kt new file mode 100644 index 00000000000..b8c8d7afdf8 --- /dev/null +++ b/compiler/testData/diagnostics/tests/modifiers/suspendAnonymousFunction.fir.kt @@ -0,0 +1,7 @@ +// ISSUE: KT-57991 + +fun foo() { + suspend fun() { + + } +} diff --git a/compiler/testData/diagnostics/tests/modifiers/suspendAnonymousFunction.kt b/compiler/testData/diagnostics/tests/modifiers/suspendAnonymousFunction.kt index fd89d7c2e48..826ebbe6ab6 100644 --- a/compiler/testData/diagnostics/tests/modifiers/suspendAnonymousFunction.kt +++ b/compiler/testData/diagnostics/tests/modifiers/suspendAnonymousFunction.kt @@ -1,4 +1,3 @@ -// FIR_IDENTICAL // ISSUE: KT-57991 fun foo() { diff --git a/compiler/testData/diagnostics/tests/suspendConversion/suspendAnonymousAsNonSuspend.fir.kt b/compiler/testData/diagnostics/tests/suspendConversion/suspendAnonymousAsNonSuspend.fir.kt index 3b5da52b362..7cc5fb9ddf2 100644 --- a/compiler/testData/diagnostics/tests/suspendConversion/suspendAnonymousAsNonSuspend.fir.kt +++ b/compiler/testData/diagnostics/tests/suspendConversion/suspendAnonymousAsNonSuspend.fir.kt @@ -4,6 +4,6 @@ fun produce(arg: () -> T): T = arg() fun main() { produce { - suspend fun() {} // CCE + suspend fun() {} // CCE } } diff --git a/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.fir.kt b/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.fir.kt new file mode 100644 index 00000000000..86464bbb080 --- /dev/null +++ b/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.fir.kt @@ -0,0 +1,11 @@ +// FIR_DUMP + +fun foo() { + suspend fun() { + bar() + } +} + +suspend fun bar() { + +} diff --git a/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.fir.txt b/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.fir.txt index 7ec44f61bc3..a60e4518482 100644 --- a/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.fir.txt +++ b/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.fir.txt @@ -1,4 +1,4 @@ -FILE: suspendCallFromAnonymousSuspend.kt +FILE: suspendCallFromAnonymousSuspend.fir.kt public final fun foo(): R|kotlin/Unit| { suspend fun (): R|kotlin/Unit| { R|/bar|() diff --git a/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.kt b/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.kt index 1422c53713e..c04cb215766 100644 --- a/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.kt +++ b/compiler/testData/diagnostics/tests/suspendConversion/suspendCallFromAnonymousSuspend.kt @@ -1,4 +1,3 @@ -// FIR_IDENTICAL // FIR_DUMP fun foo() { diff --git a/compiler/testData/ir/irText/firProblems/LocalSuspendFun.kt b/compiler/testData/ir/irText/firProblems/LocalSuspendFun.kt index a052dd36cf8..5715312ed21 100644 --- a/compiler/testData/ir/irText/firProblems/LocalSuspendFun.kt +++ b/compiler/testData/ir/irText/firProblems/LocalSuspendFun.kt @@ -1,4 +1,5 @@ -// FIR_IDENTICAL +// IGNORE_BACKEND_K2: ANY +// Ignore reasons: anonymous suspend functions are prohibited, KT-62018 // ISSUE: KT-58332 fun foo() {