From 416d4f57eb2c9c92853164b5e649d9fc17293e90 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 16 Jan 2023 15:45:01 +0100 Subject: [PATCH] K2: add test for KT-55371 --- .../FirBlackBoxCodegenTestGenerated.java | 6 ++++ .../cannotAccessStaticMemberViaReceiver.kt | 33 +++++++++++++++++++ .../IrBlackBoxCodegenTestGenerated.java | 6 ++++ 3 files changed, 45 insertions(+) create mode 100644 compiler/testData/codegen/box/javaVisibility/package/cannotAccessStaticMemberViaReceiver.kt 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 13d7e9bd8c9..2898b51495e 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 @@ -28962,6 +28962,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/javaVisibility/package"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("cannotAccessStaticMemberViaReceiver.kt") + public void testCannotAccessStaticMemberViaReceiver() throws Exception { + runTest("compiler/testData/codegen/box/javaVisibility/package/cannotAccessStaticMemberViaReceiver.kt"); + } + @Test @TestMetadata("inheritedPackageStaticField.kt") public void testInheritedPackageStaticField() throws Exception { diff --git a/compiler/testData/codegen/box/javaVisibility/package/cannotAccessStaticMemberViaReceiver.kt b/compiler/testData/codegen/box/javaVisibility/package/cannotAccessStaticMemberViaReceiver.kt new file mode 100644 index 00000000000..4e5e76a5af8 --- /dev/null +++ b/compiler/testData/codegen/box/javaVisibility/package/cannotAccessStaticMemberViaReceiver.kt @@ -0,0 +1,33 @@ +// TARGET_BACKEND: JVM_IR +// IGNORE_BACKEND_K2: JVM_IR +// See KT-55371 +// FILE: javapackage/PackagePrivateGrandparentAbstractClass.java + +package javapackage; + +/*package-private*/ abstract class PackagePrivateGrandparentAbstractClass { + public static void publicStaticMethod() {} + + public static String publicStaticField = "OK"; +} + +// FILE: javapackage/PublicParentClass.java + +package javapackage; + +public class PublicParentClass extends PackagePrivateGrandparentAbstractClass {} + +// FILE: Child.kt + +import javapackage.PublicParentClass + +class Child : PublicParentClass() { + fun foo(): String { + publicStaticMethod() + return publicStaticField + } +} + +// FILE: test.kt + +fun box() = Child().foo() 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 b2f27506228..7522a0f9323 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 @@ -28962,6 +28962,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/javaVisibility/package"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("cannotAccessStaticMemberViaReceiver.kt") + public void testCannotAccessStaticMemberViaReceiver() throws Exception { + runTest("compiler/testData/codegen/box/javaVisibility/package/cannotAccessStaticMemberViaReceiver.kt"); + } + @Test @TestMetadata("inheritedPackageStaticField.kt") public void testInheritedPackageStaticField() throws Exception {