[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
@@ -26507,6 +26507,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe
@FirPipeline()
@UseExtTestCaseGroupProvider()
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.NATIVE, true);
@@ -27121,6 +27121,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB
@UsePartialLinkage(mode = Mode.DISABLED)
@Tag("no-partial-linkage-may-be-skipped")
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.NATIVE, true);
@@ -26201,6 +26201,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest
@UseExtTestCaseGroupProvider()
@DisabledTestsIfProperty(sourceLocations = { "compiler/testData/codegen/box/coroutines/featureIntersection/defaultExpect.kt", "compiler/testData/codegen/box/multiplatform/defaultArguments/*.kt", "compiler/testData/codegen/box/multiplatform/migratedOldTests/*.kt", "compiler/testData/codegen/boxInline/multiplatform/defaultArguments/receiversAndParametersInLambda.kt" }, property = ClassLevelProperty.TEST_MODE, propertyValue = "ONE_STAGE_MULTI_MODULE")
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.NATIVE, true);
@@ -26508,6 +26508,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT
@UsePartialLinkage(mode = Mode.DISABLED)
@Tag("no-partial-linkage-may-be-skipped")
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.NATIVE, true);