From d436d568718783262e6e9d3675326f626c56d61e Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 18 Jan 2023 09:04:53 +0100 Subject: [PATCH] FE: add some more tests around static field fake overrides --- ...CompilerTestFE10TestdataTestGenerated.java | 12 ++++++ ...irOldFrontendDiagnosticsTestGenerated.java | 12 ++++++ ...DiagnosticsWithLightTreeTestGenerated.java | 12 ++++++ .../FirBlackBoxCodegenTestGenerated.java | 6 +++ .../javaInterfaceFieldDirectAccess.kt | 20 ++++++++++ ...ccessInterfaceMemberViaReceiver.fir.ir.txt | 31 +++++++++++++++ ...notAccessInterfaceMemberViaReceiver.ir.txt | 31 +++++++++++++++ .../cannotAccessInterfaceMemberViaReceiver.kt | 1 + .../javaInterfaceFieldDirectAccess.kt | 18 +++++++++ .../javaInterfaceFieldDirectAccess.txt | 21 ++++++++++ ...StaticInterfaceFieldViaKotlinClass.fir.txt | 22 +++++++++++ ...ivateStaticInterfaceFieldViaKotlinClass.kt | 34 +++++++++++++++++ ...vateStaticInterfaceFieldViaKotlinClass.txt | 38 +++++++++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 12 ++++++ .../IrBlackBoxCodegenTestGenerated.java | 6 +++ 15 files changed, 276 insertions(+) create mode 100644 compiler/testData/codegen/box/javaInterop/javaInterfaceFieldDirectAccess.kt create mode 100644 compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.fir.ir.txt create mode 100644 compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.ir.txt create mode 100644 compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.kt create mode 100644 compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.txt create mode 100644 compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.fir.txt create mode 100644 compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.kt create mode 100644 compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.txt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java index ede6353dc2a..2bb669b8cf7 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java @@ -34488,6 +34488,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/visibility/invisibleSetterOfJavaClassWithDisabledFeature.kt"); } + @Test + @TestMetadata("javaInterfaceFieldDirectAccess.kt") + public void testJavaInterfaceFieldDirectAccess() throws Exception { + runTest("compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.kt"); + } + @Test @TestMetadata("lackOfInvisibleSetterOfJavaClassInSamePackage.kt") public void testLackOfInvisibleSetterOfJavaClassInSamePackage() throws Exception { @@ -34518,6 +34524,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/visibility/packagePrivateStatic.kt"); } + @Test + @TestMetadata("packagePrivateStaticInterfaceFieldViaKotlinClass.kt") + public void testPackagePrivateStaticInterfaceFieldViaKotlinClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.kt"); + } + @Test @TestMetadata("packagePrivateStaticInterfaceMethod.kt") public void testPackagePrivateStaticInterfaceMethod() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java index c4f624dce05..6ed7b4748ee 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java @@ -34584,6 +34584,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti runTest("compiler/testData/diagnostics/tests/visibility/invisibleSetterOfJavaClassWithDisabledFeature.kt"); } + @Test + @TestMetadata("javaInterfaceFieldDirectAccess.kt") + public void testJavaInterfaceFieldDirectAccess() throws Exception { + runTest("compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.kt"); + } + @Test @TestMetadata("lackOfInvisibleSetterOfJavaClassInSamePackage.kt") public void testLackOfInvisibleSetterOfJavaClassInSamePackage() throws Exception { @@ -34614,6 +34620,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti runTest("compiler/testData/diagnostics/tests/visibility/packagePrivateStatic.kt"); } + @Test + @TestMetadata("packagePrivateStaticInterfaceFieldViaKotlinClass.kt") + public void testPackagePrivateStaticInterfaceFieldViaKotlinClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.kt"); + } + @Test @TestMetadata("packagePrivateStaticInterfaceMethod.kt") public void testPackagePrivateStaticInterfaceMethod() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java index 2e1324711a1..d19114b2a54 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java @@ -34488,6 +34488,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac runTest("compiler/testData/diagnostics/tests/visibility/invisibleSetterOfJavaClassWithDisabledFeature.kt"); } + @Test + @TestMetadata("javaInterfaceFieldDirectAccess.kt") + public void testJavaInterfaceFieldDirectAccess() throws Exception { + runTest("compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.kt"); + } + @Test @TestMetadata("lackOfInvisibleSetterOfJavaClassInSamePackage.kt") public void testLackOfInvisibleSetterOfJavaClassInSamePackage() throws Exception { @@ -34518,6 +34524,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac runTest("compiler/testData/diagnostics/tests/visibility/packagePrivateStatic.kt"); } + @Test + @TestMetadata("packagePrivateStaticInterfaceFieldViaKotlinClass.kt") + public void testPackagePrivateStaticInterfaceFieldViaKotlinClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.kt"); + } + @Test @TestMetadata("packagePrivateStaticInterfaceMethod.kt") public void testPackagePrivateStaticInterfaceMethod() throws Exception { 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 ced57f472ec..3a81c24e4d5 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 @@ -28477,6 +28477,12 @@ public class FirBlackBoxCodegenTestGenerated extends AbstractFirBlackBoxCodegenT runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt"); } + @Test + @TestMetadata("javaInterfaceFieldDirectAccess.kt") + public void testJavaInterfaceFieldDirectAccess() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaInterfaceFieldDirectAccess.kt"); + } + @Test @TestMetadata("javaOuterClassDependsOnInner.kt") public void testJavaOuterClassDependsOnInner() throws Exception { diff --git a/compiler/testData/codegen/box/javaInterop/javaInterfaceFieldDirectAccess.kt b/compiler/testData/codegen/box/javaInterop/javaInterfaceFieldDirectAccess.kt new file mode 100644 index 00000000000..8a0dad4e052 --- /dev/null +++ b/compiler/testData/codegen/box/javaInterop/javaInterfaceFieldDirectAccess.kt @@ -0,0 +1,20 @@ +// TARGET_BACKEND: JVM_IR +// FILE: javapackage/PublicParentInterface.java + +package javapackage; + +public interface PublicParentInterface { + String publicStaticField = "OK"; +} + +// FILE: Child.kt + +import javapackage.PublicParentInterface + +class Child : PublicParentInterface { + fun foo(): String { + return PublicParentInterface.publicStaticField + } +} + +fun box() = Child().foo() diff --git a/compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.fir.ir.txt b/compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.fir.ir.txt new file mode 100644 index 00000000000..a4810590cdb --- /dev/null +++ b/compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.fir.ir.txt @@ -0,0 +1,31 @@ +FILE fqName: fileName:/Child.kt + CLASS CLASS name:Child modality:FINAL visibility:public superTypes:[javapackage.PublicParentClass] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Child + CONSTRUCTOR visibility:public <> () returnType:.Child [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in javapackage.PublicParentClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Child modality:FINAL visibility:public superTypes:[javapackage.PublicParentClass]' + FUN name:foo visibility:public modality:FINAL <> ($this:.Child) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Child + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.String declared in .Child' + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:publicStaticField type:kotlin.String visibility:public [final,static]' type=kotlin.String origin=GET_PROPERTY + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in javapackage.PublicParentClass + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in javapackage.PublicParentClass + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in javapackage.PublicParentClass + $this: VALUE_PARAMETER name: type:kotlin.Any +FILE fqName: fileName:/test.kt + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun foo (): kotlin.String declared in .Child' type=kotlin.String origin=null + $this: CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Child' type=.Child origin=null diff --git a/compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.ir.txt b/compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.ir.txt new file mode 100644 index 00000000000..a4810590cdb --- /dev/null +++ b/compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.ir.txt @@ -0,0 +1,31 @@ +FILE fqName: fileName:/Child.kt + CLASS CLASS name:Child modality:FINAL visibility:public superTypes:[javapackage.PublicParentClass] + $this: VALUE_PARAMETER INSTANCE_RECEIVER name: type:.Child + CONSTRUCTOR visibility:public <> () returnType:.Child [primary] + BLOCK_BODY + DELEGATING_CONSTRUCTOR_CALL 'public constructor () [primary] declared in javapackage.PublicParentClass' + INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Child modality:FINAL visibility:public superTypes:[javapackage.PublicParentClass]' + FUN name:foo visibility:public modality:FINAL <> ($this:.Child) returnType:kotlin.String + $this: VALUE_PARAMETER name: type:.Child + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun foo (): kotlin.String declared in .Child' + GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:publicStaticField type:kotlin.String visibility:public [final,static]' type=kotlin.String origin=GET_PROPERTY + FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator] + overridden: + public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in javapackage.PublicParentClass + $this: VALUE_PARAMETER name: type:kotlin.Any + VALUE_PARAMETER name:other index:0 type:kotlin.Any? + FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override] + overridden: + public open fun hashCode (): kotlin.Int [fake_override] declared in javapackage.PublicParentClass + $this: VALUE_PARAMETER name: type:kotlin.Any + FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override] + overridden: + public open fun toString (): kotlin.String [fake_override] declared in javapackage.PublicParentClass + $this: VALUE_PARAMETER name: type:kotlin.Any +FILE fqName: fileName:/test.kt + FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String + BLOCK_BODY + RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in ' + CALL 'public final fun foo (): kotlin.String declared in .Child' type=kotlin.String origin=null + $this: CONSTRUCTOR_CALL 'public constructor () [primary] declared in .Child' type=.Child origin=null diff --git a/compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.kt b/compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.kt index 1fd4ea88edb..bcdd2f4bcd0 100644 --- a/compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.kt +++ b/compiler/testData/codegen/box/javaVisibility/package/cannotAccessInterfaceMemberViaReceiver.kt @@ -1,4 +1,5 @@ // TARGET_BACKEND: JVM_IR +// DUMP_IR // FILE: javapackage/PackagePrivateGrandparentAbstractClass.java package javapackage; diff --git a/compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.kt b/compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.kt new file mode 100644 index 00000000000..0e3e1dc03fd --- /dev/null +++ b/compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.kt @@ -0,0 +1,18 @@ +// FIR_IDENTICAL +// FILE: javapackage/PublicParentInterface.java + +package javapackage; + +public interface PublicParentInterface { + String publicStaticField = "OK"; +} + +// FILE: Child.kt + +import javapackage.PublicParentInterface + +class Child : PublicParentInterface { + fun foo(): String { + return publicStaticField + } +} diff --git a/compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.txt b/compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.txt new file mode 100644 index 00000000000..e9d4633e1e6 --- /dev/null +++ b/compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.txt @@ -0,0 +1,21 @@ +package + +public final class Child : javapackage.PublicParentInterface { + public constructor Child() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public final fun foo(): kotlin.String + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} + +package javapackage { + + public interface PublicParentInterface { + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + // Static members + public const final val publicStaticField: kotlin.String = "OK" + } +} diff --git a/compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.fir.txt b/compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.fir.txt new file mode 100644 index 00000000000..561de3be00c --- /dev/null +++ b/compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.fir.txt @@ -0,0 +1,22 @@ +FILE: KotlinParentClass.kt + package javapackage + + public final class KotlinParentClass : R|javapackage/PackagePrivateGrandparentInterface| { + public constructor(): R|javapackage/KotlinParentClass| { + super() + } + + } +FILE: Child.kt + public final class Child : R|javapackage/PublicParentClass| { + public constructor(): R|Child| { + super() + } + + public final fun foo(): R|kotlin/Unit| { + lval x: R|kotlin/String| = R|javapackage/PackagePrivateGrandparentInterface.publicStaticField| + lval y: R|kotlin/String| = Q|javapackage/PublicParentClass|.R|javapackage/PackagePrivateGrandparentInterface.publicStaticField| + lval z: = Q|javapackage/KotlinParentClass|.# + } + + } diff --git a/compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.kt b/compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.kt new file mode 100644 index 00000000000..e48824a1800 --- /dev/null +++ b/compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.kt @@ -0,0 +1,34 @@ +// FIR_IDENTICAL +// FIR_DUMP +// FILE: javapackage/PackagePrivateGrandparentAbstractClass.java + +package javapackage; + +/*package-private*/ interface PackagePrivateGrandparentInterface { + public static String publicStaticField = "OK"; +} + +// FILE: javapackage/KotlinParentClass.kt + +package javapackage + +class KotlinParentClass : PackagePrivateGrandparentInterface + +// FILE: javapackage/PublicParentClass.java + +package javapackage; + +public class PublicParentClass extends KotlinParentClass {} + +// FILE: Child.kt + +import javapackage.PublicParentClass +import javapackage.KotlinParentClass + +class Child : PublicParentClass() { + fun foo() { + val x = publicStaticField + val y = PublicParentClass.publicStaticField + val z = KotlinParentClass.publicStaticField + } +} diff --git a/compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.txt b/compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.txt new file mode 100644 index 00000000000..e15e82ea2d3 --- /dev/null +++ b/compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.txt @@ -0,0 +1,38 @@ +package + +public final class Child : javapackage.PublicParentClass { + public constructor Child() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public final fun foo(): kotlin.Unit + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} + +package javapackage { + + public final class KotlinParentClass : javapackage.PackagePrivateGrandparentInterface { + public constructor KotlinParentClass() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + } + + public/*package*/ interface PackagePrivateGrandparentInterface { + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + // Static members + public const final val publicStaticField: kotlin.String = "OK" + } + + public open class PublicParentClass : javapackage.KotlinParentClass { + public constructor PublicParentClass() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + + // Static members + public const final override /*1*/ /*fake_override*/ val publicStaticField: kotlin.String = "OK" + } +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index 33eb578f86d..4335bd340df 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -34584,6 +34584,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/visibility/invisibleSetterOfJavaClassWithDisabledFeature.kt"); } + @Test + @TestMetadata("javaInterfaceFieldDirectAccess.kt") + public void testJavaInterfaceFieldDirectAccess() throws Exception { + runTest("compiler/testData/diagnostics/tests/visibility/javaInterfaceFieldDirectAccess.kt"); + } + @Test @TestMetadata("lackOfInvisibleSetterOfJavaClassInSamePackage.kt") public void testLackOfInvisibleSetterOfJavaClassInSamePackage() throws Exception { @@ -34614,6 +34620,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/visibility/packagePrivateStatic.kt"); } + @Test + @TestMetadata("packagePrivateStaticInterfaceFieldViaKotlinClass.kt") + public void testPackagePrivateStaticInterfaceFieldViaKotlinClass() throws Exception { + runTest("compiler/testData/diagnostics/tests/visibility/packagePrivateStaticInterfaceFieldViaKotlinClass.kt"); + } + @Test @TestMetadata("packagePrivateStaticInterfaceMethod.kt") public void testPackagePrivateStaticInterfaceMethod() 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 c20dfbe6e93..1371f58040f 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 @@ -28477,6 +28477,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/javaInterop/genericSamSmartcast.kt"); } + @Test + @TestMetadata("javaInterfaceFieldDirectAccess.kt") + public void testJavaInterfaceFieldDirectAccess() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/javaInterfaceFieldDirectAccess.kt"); + } + @Test @TestMetadata("javaOuterClassDependsOnInner.kt") public void testJavaOuterClassDependsOnInner() throws Exception {