KT-63627 [AA] Properly handle object declarations when traversing scopes in KtFirReferenceShortener

`KtClass` denotes only classes, interfaces and enums.
To handle object declarations, we now use
`KtClassOrObject` PSI type

^KT-63627 Fixed
This commit is contained in:
Roman Golyshev
2023-11-21 15:16:37 +01:00
committed by teamcity
parent 5096fd266e
commit 7d7256536c
15 changed files with 256 additions and 5 deletions
@@ -625,6 +625,42 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenera
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@Test
@TestMetadata("classAndObjectHaveConflictingNestedClasses_inside.kt")
public void testClassAndObjectHaveConflictingNestedClasses_inside() throws Exception {
runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classAndObjectHaveConflictingNestedClasses_inside.kt");
}
@Test
@TestMetadata("classAndObjectHaveConflictingNestedClasses_inside_companion.kt")
public void testClassAndObjectHaveConflictingNestedClasses_inside_companion() throws Exception {
runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classAndObjectHaveConflictingNestedClasses_inside_companion.kt");
}
@Test
@TestMetadata("classAndObjectHaveConflictingNestedClasses_inside_namedCompanion.kt")
public void testClassAndObjectHaveConflictingNestedClasses_inside_namedCompanion() throws Exception {
runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classAndObjectHaveConflictingNestedClasses_inside_namedCompanion.kt");
}
@Test
@TestMetadata("classAndObjectHaveConflictingNestedClasses_outside.kt")
public void testClassAndObjectHaveConflictingNestedClasses_outside() throws Exception {
runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classAndObjectHaveConflictingNestedClasses_outside.kt");
}
@Test
@TestMetadata("classAndObjectHaveConflictingNestedClasses_outside_companion.kt")
public void testClassAndObjectHaveConflictingNestedClasses_outside_companion() throws Exception {
runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classAndObjectHaveConflictingNestedClasses_outside_companion.kt");
}
@Test
@TestMetadata("classAndObjectHaveConflictingNestedClasses_outside_namedCompanion.kt")
public void testClassAndObjectHaveConflictingNestedClasses_outside_namedCompanion() throws Exception {
runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classAndObjectHaveConflictingNestedClasses_outside_namedCompanion.kt");
}
@Test
@TestMetadata("nestedClassFromSupertypes1.kt")
public void testNestedClassFromSupertypes1() throws Exception {