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 0931c1ad816..17006f0c8a3 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 @@ -37685,6 +37685,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/properties/privatePropertyWithoutBackingField.kt"); } + @Test + @TestMetadata("propertyInUpperCaseWithJava.kt") + public void testPropertyInUpperCaseWithJava() throws Exception { + runTest("compiler/testData/codegen/box/properties/propertyInUpperCaseWithJava.kt"); + } + @Test @TestMetadata("protectedJavaFieldInInline.kt") public void testProtectedJavaFieldInInline() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java index 380ca51af89..56becf651a0 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated.java @@ -37685,6 +37685,12 @@ public class FirLightTreeBlackBoxCodegenWithIrFakeOverrideGeneratorTestGenerated runTest("compiler/testData/codegen/box/properties/privatePropertyWithoutBackingField.kt"); } + @Test + @TestMetadata("propertyInUpperCaseWithJava.kt") + public void testPropertyInUpperCaseWithJava() throws Exception { + runTest("compiler/testData/codegen/box/properties/propertyInUpperCaseWithJava.kt"); + } + @Test @TestMetadata("protectedJavaFieldInInline.kt") public void testProtectedJavaFieldInInline() 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 250618c38f8..2e22a7d9a51 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 @@ -37685,6 +37685,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/properties/privatePropertyWithoutBackingField.kt"); } + @Test + @TestMetadata("propertyInUpperCaseWithJava.kt") + public void testPropertyInUpperCaseWithJava() throws Exception { + runTest("compiler/testData/codegen/box/properties/propertyInUpperCaseWithJava.kt"); + } + @Test @TestMetadata("protectedJavaFieldInInline.kt") public void testProtectedJavaFieldInInline() throws Exception { diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt index 88e9a753980..8bb162e6c6e 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt @@ -157,17 +157,13 @@ class FirSignatureEnhancement( val accessorSymbol = firElement.symbol val getterDelegate = firElement.getter.delegate val enhancedGetterSymbol = if (getterDelegate is FirJavaMethod) { - enhanceMethod( - getterDelegate, getterDelegate.symbol.callableId, getterDelegate.name, enhancedTypeParameters = null, - ) + enhancementsCache.enhancedFunctions.getValue(getterDelegate.symbol, this to getterDelegate.name) } else { getterDelegate.symbol } val setterDelegate = firElement.setter?.delegate val enhancedSetterSymbol = if (setterDelegate is FirJavaMethod) { - enhanceMethod( - setterDelegate, setterDelegate.symbol.callableId, setterDelegate.name, enhancedTypeParameters = null, - ) + enhancementsCache.enhancedFunctions.getValue(setterDelegate.symbol, this to setterDelegate.name) } else { setterDelegate?.symbol } diff --git a/compiler/testData/codegen/box/properties/propertyInUpperCaseWithJava.kt b/compiler/testData/codegen/box/properties/propertyInUpperCaseWithJava.kt new file mode 100644 index 00000000000..6277c088ffb --- /dev/null +++ b/compiler/testData/codegen/box/properties/propertyInUpperCaseWithJava.kt @@ -0,0 +1,28 @@ +// TARGET_BACKEND: JVM_IR +// ISSUE: KT-61972 + +// FILE: Base.kt +interface Base { + val URL: String +} + +// FILE: Derived.java +public class Derived implements Base { + private String value; + + public Derived(String value) { + this.value = value; + } + + @java.lang.Override + public String getURL() { + return value; + } +} + +// FILE: main.kt +fun box(): String { + val d1 = Derived("O") + val d2 = Derived("K") + return d1.URL + d2.getURL() +} 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 b4d4fc880bb..f6b397d66f4 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 @@ -37685,6 +37685,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/properties/privatePropertyWithoutBackingField.kt"); } + @Test + @TestMetadata("propertyInUpperCaseWithJava.kt") + public void testPropertyInUpperCaseWithJava() throws Exception { + runTest("compiler/testData/codegen/box/properties/propertyInUpperCaseWithJava.kt"); + } + @Test @TestMetadata("protectedJavaFieldInInline.kt") public void testProtectedJavaFieldInInline() throws Exception { 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 5566b3dd3e1..b4e3f478745 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 @@ -37685,6 +37685,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/properties/privatePropertyWithoutBackingField.kt"); } + @Test + @TestMetadata("propertyInUpperCaseWithJava.kt") + public void testPropertyInUpperCaseWithJava() throws Exception { + runTest("compiler/testData/codegen/box/properties/propertyInUpperCaseWithJava.kt"); + } + @Test @TestMetadata("protectedJavaFieldInInline.kt") public void testProtectedJavaFieldInInline() 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 3b4740ff94f..fecb756e5e8 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -32190,6 +32190,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/properties/privatePropertyWithoutBackingField.kt"); } + @TestMetadata("propertyInUpperCaseWithJava.kt") + public void testPropertyInUpperCaseWithJava() throws Exception { + runTest("compiler/testData/codegen/box/properties/propertyInUpperCaseWithJava.kt"); + } + @TestMetadata("protectedJavaFieldInInline.kt") public void testProtectedJavaFieldInInline() throws Exception { runTest("compiler/testData/codegen/box/properties/protectedJavaFieldInInline.kt");