[FIR2IR] Fix generation of val initialization after smart-cast

If neither setter nor backing field were found for an assignment call,
search overridden properties for backing fields.

^KT-57105 Fixed
This commit is contained in:
Kirill Rakhman
2023-03-07 11:16:44 +01:00
committed by Space Team
parent 2706e5502f
commit 0e721c8fc2
16 changed files with 99 additions and 3 deletions
@@ -34573,6 +34573,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/smartCasts/nullSmartCast.kt");
}
@Test
@TestMetadata("propertyInitializationAfterSmartCast.kt")
public void testPropertyInitializationAfterSmartCast() throws Exception {
runTest("compiler/testData/codegen/box/smartCasts/propertyInitializationAfterSmartCast.kt");
}
@Test
@TestMetadata("smartCastInsideIf.kt")
public void testSmartCastInsideIf() throws Exception {
@@ -34759,6 +34759,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/smartCasts/nullSmartCast.kt");
}
@Test
@TestMetadata("propertyInitializationAfterSmartCast.kt")
public void testPropertyInitializationAfterSmartCast() throws Exception {
runTest("compiler/testData/codegen/box/smartCasts/propertyInitializationAfterSmartCast.kt");
}
@Test
@TestMetadata("smartCastInsideIf.kt")
public void testSmartCastInsideIf() throws Exception {
@@ -34759,6 +34759,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/smartCasts/nullSmartCast.kt");
}
@Test
@TestMetadata("propertyInitializationAfterSmartCast.kt")
public void testPropertyInitializationAfterSmartCast() throws Exception {
runTest("compiler/testData/codegen/box/smartCasts/propertyInitializationAfterSmartCast.kt");
}
@Test
@TestMetadata("smartCastInsideIf.kt")
public void testSmartCastInsideIf() throws Exception {
@@ -34759,6 +34759,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
runTest("compiler/testData/codegen/box/smartCasts/nullSmartCast.kt");
}
@Test
@TestMetadata("propertyInitializationAfterSmartCast.kt")
public void testPropertyInitializationAfterSmartCast() throws Exception {
runTest("compiler/testData/codegen/box/smartCasts/propertyInitializationAfterSmartCast.kt");
}
@Test
@TestMetadata("smartCastInsideIf.kt")
public void testSmartCastInsideIf() throws Exception {