[FIR] Store matched actual class members inside FIR attribute

Currently, there is only attribute `ExpectForActualAttributeKey`
where mapping is stored only for source declarations with `actual`
modifier. But we need mapping of all class members, including classes
which were actualized via `actual typealias` or fake override members.
This data will be needed for the annotation checker in subsequent
commits.

^KT-60668
^KT-60936
This commit is contained in:
Roman Efremov
2023-08-04 11:33:43 +02:00
committed by Space Team
parent 2f00ed3ed7
commit 8aa3ccd342
25 changed files with 223 additions and 16 deletions
@@ -23541,6 +23541,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest {
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2")
@TestDataPath("$PROJECT_ROOT")
public class K2 {
@Test
@TestMetadata("actualInnerClassesFirMemberMapping.kt")
public void testActualInnerClassesFirMemberMapping() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/actualInnerClassesFirMemberMapping.kt");
}
@Test
public void testAllFilesPresentInK2() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
@@ -23541,6 +23541,12 @@ public class FirJsES6CodegenBoxTestGenerated extends AbstractFirJsES6CodegenBoxT
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2")
@TestDataPath("$PROJECT_ROOT")
public class K2 {
@Test
@TestMetadata("actualInnerClassesFirMemberMapping.kt")
public void testActualInnerClassesFirMemberMapping() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/actualInnerClassesFirMemberMapping.kt");
}
@Test
public void testAllFilesPresentInK2() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);
@@ -23541,6 +23541,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2")
@TestDataPath("$PROJECT_ROOT")
public class K2 {
@Test
@TestMetadata("actualInnerClassesFirMemberMapping.kt")
public void testActualInnerClassesFirMemberMapping() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/actualInnerClassesFirMemberMapping.kt");
}
@Test
public void testAllFilesPresentInK2() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true);
@@ -23541,6 +23541,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes
@TestMetadata("compiler/testData/codegen/box/multiplatform/k2")
@TestDataPath("$PROJECT_ROOT")
public class K2 {
@Test
@TestMetadata("actualInnerClassesFirMemberMapping.kt")
public void testActualInnerClassesFirMemberMapping() throws Exception {
runTest("compiler/testData/codegen/box/multiplatform/k2/actualInnerClassesFirMemberMapping.kt");
}
@Test
public void testAllFilesPresentInK2() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/multiplatform/k2"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true);