diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java index e57692aff42..ff0782803c6 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirBlackBoxCodegenTestGenerated.java @@ -52,6 +52,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/annotations/annotatedObjectLiteral.kt"); } + @Test + @TestMetadata("annotationOnWhen.kt") + public void testAnnotationOnWhen() throws Exception { + runTest("compiler/testData/codegen/box/annotations/annotationOnWhen.kt"); + } + @Test @TestMetadata("annotationProperty.kt") public void testAnnotationProperty() throws Exception { diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt index 083121efb21..1878ab11080 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirExpressionsResolveTransformer.kt @@ -639,6 +639,7 @@ open class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransform } checkNotNullCall.argumentList.transformArguments(transformer, ResolutionMode.ContextDependent) + checkNotNullCall.transformAnnotations(transformer, ResolutionMode.ContextIndependent) var callCompleted = false val result = components.syntheticCallGenerator.generateCalleeForCheckNotNullCall(checkNotNullCall, resolutionContext)?.let { diff --git a/compiler/testData/codegen/box/annotations/annotationOnWhen.kt b/compiler/testData/codegen/box/annotations/annotationOnWhen.kt new file mode 100644 index 00000000000..2acd8d99853 --- /dev/null +++ b/compiler/testData/codegen/box/annotations/annotationOnWhen.kt @@ -0,0 +1,16 @@ +// TARGET_BACKEND: JVM + +enum class SomeEnum { + A, B +} + +@Suppress("SOMETHING") +fun box():String { + val someVal = SomeEnum.A + @Suppress("UNNECESSARY_NOT_NULL_ASSERTION") + when (someVal) { + SomeEnum.A -> {} + SomeEnum.B -> {} + }!! // !! is used to force compile-time exhaustiveness + return "OK" +} \ No newline at end of file diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 87d71ed0a68..e65e5008e14 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -52,6 +52,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/annotations/annotatedObjectLiteral.kt"); } + @Test + @TestMetadata("annotationOnWhen.kt") + public void testAnnotationOnWhen() throws Exception { + runTest("compiler/testData/codegen/box/annotations/annotationOnWhen.kt"); + } + @Test @TestMetadata("annotationProperty.kt") public void testAnnotationProperty() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index ca528f650ae..52e7e661251 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -52,6 +52,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/annotations/annotatedObjectLiteral.kt"); } + @Test + @TestMetadata("annotationOnWhen.kt") + public void testAnnotationOnWhen() throws Exception { + runTest("compiler/testData/codegen/box/annotations/annotationOnWhen.kt"); + } + @Test @TestMetadata("annotationProperty.kt") public void testAnnotationProperty() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 5796606ac7b..3a6a627c381 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -57,6 +57,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/annotations/annotatedObjectLiteral.kt"); } + @TestMetadata("annotationOnWhen.kt") + public void testAnnotationOnWhen() throws Exception { + runTest("compiler/testData/codegen/box/annotations/annotationOnWhen.kt"); + } + @TestMetadata("annotationProperty.kt") public void testAnnotationProperty() throws Exception { runTest("compiler/testData/codegen/box/annotations/annotationProperty.kt");