[FIR2IR] Properly calculate dispatch receiver type for fake overrides
If some function is not fake-override, then its type should be just default type of containing class For fake overrides the default type calculated in the following way: 1. Find first overridden function, which is not fake override 2. Take its containing class 3. Find supertype of current containing class with type constructor of class from step 2 ^KT-60252 Fixed
This commit is contained in:
committed by
Space Team
parent
e28f97cf6d
commit
d4f55894b4
Generated
+6
@@ -148,6 +148,12 @@ public class FirLightTreeJsIrTextTestGenerated extends AbstractFirLightTreeJsIrT
|
||||
runTest("compiler/testData/ir/irText/classes/enumWithSecondaryCtor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverridesForAnyMembers.kt")
|
||||
public void testFakeOverridesForAnyMembers() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/fakeOverridesForAnyMembers.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("initBlock.kt")
|
||||
public void testInitBlock() throws Exception {
|
||||
|
||||
+6
@@ -148,6 +148,12 @@ public class FirPsiJsIrTextTestGenerated extends AbstractFirPsiJsIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/classes/enumWithSecondaryCtor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverridesForAnyMembers.kt")
|
||||
public void testFakeOverridesForAnyMembers() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/fakeOverridesForAnyMembers.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("initBlock.kt")
|
||||
public void testInitBlock() throws Exception {
|
||||
|
||||
+6
@@ -148,6 +148,12 @@ public class ClassicJsIrTextTestGenerated extends AbstractClassicJsIrTextTest {
|
||||
runTest("compiler/testData/ir/irText/classes/enumWithSecondaryCtor.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("fakeOverridesForAnyMembers.kt")
|
||||
public void testFakeOverridesForAnyMembers() throws Exception {
|
||||
runTest("compiler/testData/ir/irText/classes/fakeOverridesForAnyMembers.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("initBlock.kt")
|
||||
public void testInitBlock() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user