[LT2FIR] Fix missing "expect" modifier on members of nested classes

For members of nested classes inside expect class
`classWrapper.hasExpect()` would be false, because it only reflects
modifiers of nested class itself and not aware of "expect" modifier
inherited from the parent class.
Fix is done in same way in PSI2FIR, see
`PsiRawFirBuilder.Visitor.toFirProperty`.

This fix now makes it possible to add test for functionality from
previous commit.

Review: KT-MR-12107

^KT-61784
This commit is contained in:
Roman Efremov
2023-09-08 16:44:25 +02:00
committed by Space Team
parent c6d7f15070
commit 2dae7ce6c1
22 changed files with 268 additions and 4 deletions
@@ -153,6 +153,24 @@ public class FirOutOfContentRootLazyBodiesCalculatorTestGenerated extends Abstra
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectClassesAndFunctions.kt");
}
@Test
@TestMetadata("expectNestedAnnotationClassWithConstructorParameter.kt")
public void testExpectNestedAnnotationClassWithConstructorParameter() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectNestedAnnotationClassWithConstructorParameter.kt");
}
@Test
@TestMetadata("expectNestedClassMembers.kt")
public void testExpectNestedClassMembers() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectNestedClassMembers.kt");
}
@Test
@TestMetadata("expectNestedEnumClassGeneratedMembers.kt")
public void testExpectNestedEnumClassGeneratedMembers() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectNestedEnumClassGeneratedMembers.kt");
}
@Test
@TestMetadata("external.kt")
public void testExternal() throws Exception {
@@ -153,6 +153,24 @@ public class FirSourceLazyBodiesCalculatorTestGenerated extends AbstractFirSourc
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectClassesAndFunctions.kt");
}
@Test
@TestMetadata("expectNestedAnnotationClassWithConstructorParameter.kt")
public void testExpectNestedAnnotationClassWithConstructorParameter() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectNestedAnnotationClassWithConstructorParameter.kt");
}
@Test
@TestMetadata("expectNestedClassMembers.kt")
public void testExpectNestedClassMembers() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectNestedClassMembers.kt");
}
@Test
@TestMetadata("expectNestedEnumClassGeneratedMembers.kt")
public void testExpectNestedEnumClassGeneratedMembers() throws Exception {
runTest("compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/expectNestedEnumClassGeneratedMembers.kt");
}
@Test
@TestMetadata("external.kt")
public void testExternal() throws Exception {