[FIR] Fix substituted synthetic property with overridden getter only

When building the original for a substitution override for a synthetic
property, use the initial setter as fallback when unsubstituting it
returns null. This can happen when a generic class overrides the getter
of a synthetic property of a non-generic class. Then the setter is never
substituted, therefore there is nothing to unsubstitute.

^KT-57168 Fixed
This commit is contained in:
Kirill Rakhman
2023-03-07 12:41:55 +01:00
committed by Space Team
parent b3d0a0a1c8
commit e0baeb53db
7 changed files with 49 additions and 1 deletions
@@ -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");