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 978d241f08c..a87495ca7ec 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 @@ -28933,6 +28933,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/javaInterop/syntheticPropClashingWithJvmField.kt"); } + @Test + @TestMetadata("syntheticPropOverriddenGetter.kt") + public void testSyntheticPropOverriddenGetter() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/syntheticPropOverriddenGetter.kt"); + } + @Test @TestMetadata("unresolvedJavaClassInDifferentFile.kt") public void testUnresolvedJavaClassInDifferentFile() throws Exception { 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 d1611baf12b..20838218147 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 @@ -28933,6 +28933,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/javaInterop/syntheticPropClashingWithJvmField.kt"); } + @Test + @TestMetadata("syntheticPropOverriddenGetter.kt") + public void testSyntheticPropOverriddenGetter() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/syntheticPropOverriddenGetter.kt"); + } + @Test @TestMetadata("unresolvedJavaClassInDifferentFile.kt") public void testUnresolvedJavaClassInDifferentFile() throws Exception { diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt index 245c7a1a46b..3d3fb81357e 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/resolve/calls/Synthetics.kt @@ -130,7 +130,7 @@ class FirSyntheticPropertiesScope private constructor( property.originalForSubstitutionOverrideAttr = buildSyntheticProperty( propertyName, it, - matchingSetter?.originalForSubstitutionOverride + matchingSetter?.originalForSubstitutionOverride ?: matchingSetter ) } val syntheticSymbol = property.symbol diff --git a/compiler/testData/codegen/box/javaInterop/syntheticPropOverriddenGetter.kt b/compiler/testData/codegen/box/javaInterop/syntheticPropOverriddenGetter.kt new file mode 100644 index 00000000000..f83a7f4dc50 --- /dev/null +++ b/compiler/testData/codegen/box/javaInterop/syntheticPropOverriddenGetter.kt @@ -0,0 +1,19 @@ +// TARGET_BACKEND: JVM +// FILE: Component.java + +public abstract class Component { + public void setPreferredSize(Object preferredSize) {} + public Object getPreferredSize() { return new Object(); } +} + +// FILE: ProjectMain.kt + +class ComboBox: Component() { + override fun getPreferredSize(): Any? = "OK" +} + +fun box(): String { + val comboBox = ComboBox() + comboBox.preferredSize = Any() + return comboBox.preferredSize as String +} 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 f7b3397dc62..c0709c167e7 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 @@ -27649,6 +27649,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/javaInterop/syntheticPropClashingWithJvmField.kt"); } + @Test + @TestMetadata("syntheticPropOverriddenGetter.kt") + public void testSyntheticPropOverriddenGetter() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/syntheticPropOverriddenGetter.kt"); + } + @Test @TestMetadata("unresolvedJavaClassInDifferentFile.kt") public void testUnresolvedJavaClassInDifferentFile() 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 59ed6274ef1..28b81c84eab 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 @@ -28933,6 +28933,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/javaInterop/syntheticPropClashingWithJvmField.kt"); } + @Test + @TestMetadata("syntheticPropOverriddenGetter.kt") + public void testSyntheticPropOverriddenGetter() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/syntheticPropOverriddenGetter.kt"); + } + @Test @TestMetadata("unresolvedJavaClassInDifferentFile.kt") public void testUnresolvedJavaClassInDifferentFile() 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 f7ace6dc07f..22aa7127ec2 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -23341,6 +23341,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/javaInterop/syntheticPropClashingWithJvmField.kt"); } + @TestMetadata("syntheticPropOverriddenGetter.kt") + public void testSyntheticPropOverriddenGetter() throws Exception { + runTest("compiler/testData/codegen/box/javaInterop/syntheticPropOverriddenGetter.kt"); + } + @TestMetadata("unresolvedJavaClassInDifferentFile.kt") public void testUnresolvedJavaClassInDifferentFile() throws Exception { runTest("compiler/testData/codegen/box/javaInterop/unresolvedJavaClassInDifferentFile.kt");