diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java index c639ab4fe7f..70b4ea0f0a2 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirBlackBoxCodegenBasedTestGenerated.java @@ -21596,6 +21596,12 @@ public class LLFirBlackBoxCodegenBasedTestGenerated extends AbstractLLFirBlackBo runTest("compiler/testData/codegen/box/fir/notFoundClasses.kt"); } + @Test + @TestMetadata("overriddenPropertyInComplexHierarchy.kt") + public void testOverriddenPropertyInComplexHierarchy() { + runTest("compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt"); + } + @Test @TestMetadata("publicMethodCallViaPackagePrivateCommon.kt") public void testPublicMethodCallViaPackagePrivateCommon() { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java index 38520b29cf1..72b02ce04b6 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirReversedBlackBoxCodegenBasedTestGenerated.java @@ -21596,6 +21596,12 @@ public class LLFirReversedBlackBoxCodegenBasedTestGenerated extends AbstractLLFi runTest("compiler/testData/codegen/box/fir/notFoundClasses.kt"); } + @Test + @TestMetadata("overriddenPropertyInComplexHierarchy.kt") + public void testOverriddenPropertyInComplexHierarchy() { + runTest("compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt"); + } + @Test @TestMetadata("publicMethodCallViaPackagePrivateCommon.kt") public void testPublicMethodCallViaPackagePrivateCommon() { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java index 0c63be7eb7e..1be2aaa2173 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java @@ -21525,6 +21525,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/fir/notFoundClasses.kt"); } + @Test + @TestMetadata("overriddenPropertyInComplexHierarchy.kt") + public void testOverriddenPropertyInComplexHierarchy() { + runTest("compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt"); + } + @Test @TestMetadata("publicMethodCallViaPackagePrivateCommon.kt") public void testPublicMethodCallViaPackagePrivateCommon() { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java index 67b1efe99f1..d9dac3a302b 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGenerated.java @@ -21525,6 +21525,12 @@ public class FirLightTreeBlackBoxCodegenWithFir2IrFakeOverrideGeneratorTestGener runTest("compiler/testData/codegen/box/fir/notFoundClasses.kt"); } + @Test + @TestMetadata("overriddenPropertyInComplexHierarchy.kt") + public void testOverriddenPropertyInComplexHierarchy() { + runTest("compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt"); + } + @Test @TestMetadata("publicMethodCallViaPackagePrivateCommon.kt") public void testPublicMethodCallViaPackagePrivateCommon() { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java index 9fd44eb018a..e9ec914d908 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java @@ -21525,6 +21525,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/fir/notFoundClasses.kt"); } + @Test + @TestMetadata("overriddenPropertyInComplexHierarchy.kt") + public void testOverriddenPropertyInComplexHierarchy() { + runTest("compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt"); + } + @Test @TestMetadata("publicMethodCallViaPackagePrivateCommon.kt") public void testPublicMethodCallViaPackagePrivateCommon() { diff --git a/compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt b/compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt new file mode 100644 index 00000000000..fd42ccb9de3 --- /dev/null +++ b/compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt @@ -0,0 +1,28 @@ +// TARGET_BACKEND: JVM_IR +// IGNORE_CODEGEN_WITH_FIR2IR_FAKE_OVERRIDE_GENERATION: JVM_IR +// ISSUE: KT-63588 + +// FILE: Base.java +public class Base { + public String getBounds() { return ""; } +} + +// FILE: Intermediate.java +public class Intermediate extends Base {} + +// FILE: Final.java +public class Final extends Intermediate implements WithBounds {} + +// FILE: Main.kt +interface WithBounds { + val bounds: String +} + +fun foo(arg: Final) { + arg.bounds +} + +fun box(): String { + foo(Final()) + return "OK" +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java index e04bd738b96..8357780a963 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/JvmAbiConsistencyTestBoxGenerated.java @@ -21525,6 +21525,12 @@ public class JvmAbiConsistencyTestBoxGenerated extends AbstractJvmAbiConsistency runTest("compiler/testData/codegen/box/fir/notFoundClasses.kt"); } + @Test + @TestMetadata("overriddenPropertyInComplexHierarchy.kt") + public void testOverriddenPropertyInComplexHierarchy() { + runTest("compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt"); + } + @Test @TestMetadata("publicMethodCallViaPackagePrivateCommon.kt") public void testPublicMethodCallViaPackagePrivateCommon() { 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 387d6c54bdb..4b234312150 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 @@ -21525,6 +21525,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/fir/notFoundClasses.kt"); } + @Test + @TestMetadata("overriddenPropertyInComplexHierarchy.kt") + public void testOverriddenPropertyInComplexHierarchy() { + runTest("compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt"); + } + @Test @TestMetadata("publicMethodCallViaPackagePrivateCommon.kt") public void testPublicMethodCallViaPackagePrivateCommon() { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java index 2c5f8c8b399..dcc2377f3db 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java @@ -21525,6 +21525,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/fir/notFoundClasses.kt"); } + @Test + @TestMetadata("overriddenPropertyInComplexHierarchy.kt") + public void testOverriddenPropertyInComplexHierarchy() { + runTest("compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt"); + } + @Test @TestMetadata("publicMethodCallViaPackagePrivateCommon.kt") public void testPublicMethodCallViaPackagePrivateCommon() { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java index 3c41088d649..d0bb85a79ca 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/inlineScopes/FirBlackBoxCodegenTestWithInlineScopesGenerated.java @@ -21525,6 +21525,12 @@ public class FirBlackBoxCodegenTestWithInlineScopesGenerated extends AbstractFir runTest("compiler/testData/codegen/box/fir/notFoundClasses.kt"); } + @Test + @TestMetadata("overriddenPropertyInComplexHierarchy.kt") + public void testOverriddenPropertyInComplexHierarchy() { + runTest("compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt"); + } + @Test @TestMetadata("publicMethodCallViaPackagePrivateCommon.kt") public void testPublicMethodCallViaPackagePrivateCommon() { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index 89be5c8a970..4d73f7bfa17 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -17996,6 +17996,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/fir/notFoundClasses.kt"); } + @TestMetadata("overriddenPropertyInComplexHierarchy.kt") + public void testOverriddenPropertyInComplexHierarchy() { + runTest("compiler/testData/codegen/box/fir/overriddenPropertyInComplexHierarchy.kt"); + } + @TestMetadata("publicMethodCallViaPackagePrivateCommon.kt") public void testPublicMethodCallViaPackagePrivateCommon() { runTest("compiler/testData/codegen/box/fir/publicMethodCallViaPackagePrivateCommon.kt");