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 3788486941a..0fc25a7df9d 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 @@ -23422,6 +23422,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/jvmStatic/kt35716.kt"); } + @Test + @TestMetadata("kt45408.kt") + public void testKt45408() throws Exception { + runTest("compiler/testData/codegen/box/jvmStatic/kt45408.kt"); + } + @Test @TestMetadata("kt9897_static.kt") public void testKt9897_static() throws Exception { diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt index b293cf677dc..a3ade05d63f 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/JvmStaticAnnotationLowering.kt @@ -150,6 +150,7 @@ private class MakeCallsStatic(val context: JvmBackendContext) : IrElementTransfo override fun visitMemberAccess(expression: IrMemberAccessExpression<*>): IrExpression { val callee = expression.symbol.owner if (callee is IrDeclaration && callee.isJvmStaticInObject() && expression.dispatchReceiver != null) { + expression.transformChildrenVoid() return context.createIrBuilder(expression.symbol, expression.startOffset, expression.endOffset).irBlock(expression) { // OldReceiver has to be evaluated for its side effects. val oldReceiver = super.visitExpression(expression.dispatchReceiver!!) diff --git a/compiler/testData/codegen/box/jvmStatic/kt45408.kt b/compiler/testData/codegen/box/jvmStatic/kt45408.kt new file mode 100644 index 00000000000..c11759ea9cf --- /dev/null +++ b/compiler/testData/codegen/box/jvmStatic/kt45408.kt @@ -0,0 +1,12 @@ +// TARGET_BACKEND: JVM +// WITH_RUNTIME + +fun box() = X.tag().d() + +object X { + @JvmStatic + fun d(): String = "OK" + + @JvmStatic + fun tag(): X = this +} 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 e648586b4c0..b97a8f4da7a 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 @@ -23422,6 +23422,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/jvmStatic/kt35716.kt"); } + @Test + @TestMetadata("kt45408.kt") + public void testKt45408() throws Exception { + runTest("compiler/testData/codegen/box/jvmStatic/kt45408.kt"); + } + @Test @TestMetadata("kt9897_static.kt") public void testKt9897_static() 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 04ff891eab6..b6c4355249a 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 @@ -23422,6 +23422,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/jvmStatic/kt35716.kt"); } + @Test + @TestMetadata("kt45408.kt") + public void testKt45408() throws Exception { + runTest("compiler/testData/codegen/box/jvmStatic/kt45408.kt"); + } + @Test @TestMetadata("kt9897_static.kt") public void testKt9897_static() 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 fd8c712c63a..315d1dc4477 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -19779,6 +19779,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/jvmStatic/kt35716.kt"); } + @TestMetadata("kt45408.kt") + public void testKt45408() throws Exception { + runTest("compiler/testData/codegen/box/jvmStatic/kt45408.kt"); + } + @TestMetadata("kt9897_static.kt") public void testKt9897_static() throws Exception { runTest("compiler/testData/codegen/box/jvmStatic/kt9897_static.kt");