diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt index 8600c2bba00..56be6e1e2c4 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/components/KtFirReferenceShortener.kt @@ -470,13 +470,19 @@ private class ElementsToShortenCollector( private fun FirScope.correspondingClassIdIfExists(): ClassId = when (this) { is FirNestedClassifierScope -> klass.classId + is FirNestedClassifierScopeWithSubstitution -> originalScope.correspondingClassIdIfExists() is FirClassUseSiteMemberScope -> classId else -> error("FirScope `$this` is expected to be one of FirNestedClassifierScope and FirClassUseSiteMemberScope to get ClassId") } private fun ClassId.idWithoutCompanion() = if (shortClassName == SpecialNames.DEFAULT_NAME_FOR_COMPANION_OBJECT) outerClassId else this - private fun FirScope.isScopeForClass() = this is FirNestedClassifierScope || this is FirClassUseSiteMemberScope + private fun FirScope.isScopeForClass(): Boolean = when { + this is FirNestedClassifierScope -> true + this is FirNestedClassifierScopeWithSubstitution -> originalScope.isScopeForClass() + this is FirClassUseSiteMemberScope -> true + else -> false + } /** * Assuming that both this [FirScope] and [another] are [FirNestedClassifierScope] or [FirClassUseSiteMemberScope] and both of them @@ -569,6 +575,7 @@ private class ElementsToShortenCollector( is FirLocalScope -> Local is FirClassUseSiteMemberScope -> ClassUseSite is FirNestedClassifierScope -> NestedClassifier + is FirNestedClassifierScopeWithSubstitution -> originalScope.toPartialOrder() is FirExplicitSimpleImportingScope -> ExplicitSimpleImporting is FirPackageMemberScope -> PackageMember else -> Unclassified diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java index d3e1b3394c1..053b21f1262 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java @@ -466,30 +466,60 @@ public class FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated ext runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnClass.kt"); } + @Test + @TestMetadata("annotationOnClass_nested.kt") + public void testAnnotationOnClass_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnClass_nested.kt"); + } + @Test @TestMetadata("annotationOnConstructor.kt") public void testAnnotationOnConstructor() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnConstructor.kt"); } + @Test + @TestMetadata("annotationOnConstructor_nested.kt") + public void testAnnotationOnConstructor_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnConstructor_nested.kt"); + } + @Test @TestMetadata("annotationOnParameter.kt") public void testAnnotationOnParameter() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnParameter.kt"); } + @Test + @TestMetadata("annotationOnParameter_nested.kt") + public void testAnnotationOnParameter_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnParameter_nested.kt"); + } + @Test @TestMetadata("contextReceiver.kt") public void testContextReceiver() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/contextReceiver.kt"); } + @Test + @TestMetadata("contextReceiver_nested.kt") + public void testContextReceiver_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/contextReceiver_nested.kt"); + } + @Test @TestMetadata("primaryConstructorParameter.kt") public void testPrimaryConstructorParameter() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/primaryConstructorParameter.kt"); } + @Test + @TestMetadata("primaryConstructorParameter_nested.kt") + public void testPrimaryConstructorParameter_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/primaryConstructorParameter_nested.kt"); + } + @Test @TestMetadata("superType.kt") public void testSuperType() throws Exception { @@ -508,23 +538,59 @@ public class FirIdeNormalAnalysisSourceModuleReferenceShortenerTestGenerated ext runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructorArgument.kt"); } + @Test + @TestMetadata("superTypeConstructorArgument_nested.kt") + public void testSuperTypeConstructorArgument_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructorArgument_nested.kt"); + } + + @Test + @TestMetadata("superTypeConstructor_nested.kt") + public void testSuperTypeConstructor_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructor_nested.kt"); + } + @Test @TestMetadata("superTypeDelegation.kt") public void testSuperTypeDelegation() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeDelegation.kt"); } + @Test + @TestMetadata("superTypeDelegation_nested.kt") + public void testSuperTypeDelegation_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeDelegation_nested.kt"); + } + @Test @TestMetadata("superTypeTypeArguments.kt") public void testSuperTypeTypeArguments() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeTypeArguments.kt"); } + @Test + @TestMetadata("superTypeTypeArguments_nested.kt") + public void testSuperTypeTypeArguments_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeTypeArguments_nested.kt"); + } + + @Test + @TestMetadata("superType_nested.kt") + public void testSuperType_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superType_nested.kt"); + } + @Test @TestMetadata("typeBound.kt") public void testTypeBound() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/typeBound.kt"); } + + @Test + @TestMetadata("typeBound_nested.kt") + public void testTypeBound_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/typeBound_nested.kt"); + } } } } diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java index d68f6164f61..2b280e28590 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenerated.java @@ -466,30 +466,60 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenera runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnClass.kt"); } + @Test + @TestMetadata("annotationOnClass_nested.kt") + public void testAnnotationOnClass_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnClass_nested.kt"); + } + @Test @TestMetadata("annotationOnConstructor.kt") public void testAnnotationOnConstructor() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnConstructor.kt"); } + @Test + @TestMetadata("annotationOnConstructor_nested.kt") + public void testAnnotationOnConstructor_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnConstructor_nested.kt"); + } + @Test @TestMetadata("annotationOnParameter.kt") public void testAnnotationOnParameter() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnParameter.kt"); } + @Test + @TestMetadata("annotationOnParameter_nested.kt") + public void testAnnotationOnParameter_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnParameter_nested.kt"); + } + @Test @TestMetadata("contextReceiver.kt") public void testContextReceiver() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/contextReceiver.kt"); } + @Test + @TestMetadata("contextReceiver_nested.kt") + public void testContextReceiver_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/contextReceiver_nested.kt"); + } + @Test @TestMetadata("primaryConstructorParameter.kt") public void testPrimaryConstructorParameter() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/primaryConstructorParameter.kt"); } + @Test + @TestMetadata("primaryConstructorParameter_nested.kt") + public void testPrimaryConstructorParameter_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/primaryConstructorParameter_nested.kt"); + } + @Test @TestMetadata("superType.kt") public void testSuperType() throws Exception { @@ -508,23 +538,59 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceShortenerTestGenera runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructorArgument.kt"); } + @Test + @TestMetadata("superTypeConstructorArgument_nested.kt") + public void testSuperTypeConstructorArgument_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructorArgument_nested.kt"); + } + + @Test + @TestMetadata("superTypeConstructor_nested.kt") + public void testSuperTypeConstructor_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructor_nested.kt"); + } + @Test @TestMetadata("superTypeDelegation.kt") public void testSuperTypeDelegation() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeDelegation.kt"); } + @Test + @TestMetadata("superTypeDelegation_nested.kt") + public void testSuperTypeDelegation_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeDelegation_nested.kt"); + } + @Test @TestMetadata("superTypeTypeArguments.kt") public void testSuperTypeTypeArguments() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeTypeArguments.kt"); } + @Test + @TestMetadata("superTypeTypeArguments_nested.kt") + public void testSuperTypeTypeArguments_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeTypeArguments_nested.kt"); + } + + @Test + @TestMetadata("superType_nested.kt") + public void testSuperType_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superType_nested.kt"); + } + @Test @TestMetadata("typeBound.kt") public void testTypeBound() throws Exception { runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/typeBound.kt"); } + + @Test + @TestMetadata("typeBound_nested.kt") + public void testTypeBound_nested() throws Exception { + runTest("analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/typeBound_nested.kt"); + } } } } diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnClass_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnClass_nested.kt new file mode 100644 index 00000000000..45615d4f634 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnClass_nested.kt @@ -0,0 +1,11 @@ +// FILE: main.kt + +abstract class Outer { + abstract class Nested : Outer() + + annotation class Ann + + @Outer.Ann + class Foo : Outer() +} + diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnClass_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnClass_nested.txt new file mode 100644 index 00000000000..8309708d818 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnClass_nested.txt @@ -0,0 +1,8 @@ +Before shortening: @Outer.Ann +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[type] Outer.Ann +with SHORTEN_AND_IMPORT: +[type] Outer.Ann +with SHORTEN_AND_STAR_IMPORT: +[type] Outer.Ann diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnConstructor_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnConstructor_nested.kt new file mode 100644 index 00000000000..d129e9ab749 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnConstructor_nested.kt @@ -0,0 +1,7 @@ +// FILE: main.kt + +abstract class Outer { + annotation class Ann + + class Foo @Outer.Ann constructor() : Outer() +} diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnConstructor_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnConstructor_nested.txt new file mode 100644 index 00000000000..8309708d818 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnConstructor_nested.txt @@ -0,0 +1,8 @@ +Before shortening: @Outer.Ann +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[type] Outer.Ann +with SHORTEN_AND_IMPORT: +[type] Outer.Ann +with SHORTEN_AND_STAR_IMPORT: +[type] Outer.Ann diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnParameter_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnParameter_nested.kt new file mode 100644 index 00000000000..6a0dee735bf --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnParameter_nested.kt @@ -0,0 +1,8 @@ +// FILE: main.kt + +abstract class Outer { + annotation class Ann + + class Foo(@Outer.Ann val p: Any) : Outer() +} + diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnParameter_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnParameter_nested.txt new file mode 100644 index 00000000000..8309708d818 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/annotationOnParameter_nested.txt @@ -0,0 +1,8 @@ +Before shortening: @Outer.Ann +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[type] Outer.Ann +with SHORTEN_AND_IMPORT: +[type] Outer.Ann +with SHORTEN_AND_STAR_IMPORT: +[type] Outer.Ann diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/contextReceiver_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/contextReceiver_nested.kt new file mode 100644 index 00000000000..c443c55ee8c --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/contextReceiver_nested.kt @@ -0,0 +1,9 @@ +// FILE: main.kt + +abstract class Outer { + abstract class Nested : Outer() + + context(Outer.Nested) + class Foo : Outer.Nested() +} + diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/contextReceiver_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/contextReceiver_nested.txt new file mode 100644 index 00000000000..2e417ba1a81 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/contextReceiver_nested.txt @@ -0,0 +1,8 @@ +Before shortening: Outer.Nested +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[type] Outer.Nested +with SHORTEN_AND_IMPORT: +[type] Outer.Nested +with SHORTEN_AND_STAR_IMPORT: +[type] Outer.Nested diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/primaryConstructorParameter_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/primaryConstructorParameter_nested.kt new file mode 100644 index 00000000000..fc658875a26 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/primaryConstructorParameter_nested.kt @@ -0,0 +1,7 @@ +// FILE: main.kt + +abstract class Outer { + abstract class Nested : Outer() + + class Foo(val param: Outer.Nested = Outer.Nested()) : Outer.Nested() +} diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/primaryConstructorParameter_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/primaryConstructorParameter_nested.txt new file mode 100644 index 00000000000..37a1ca8b41a --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/primaryConstructorParameter_nested.txt @@ -0,0 +1,11 @@ +Before shortening: val param: Outer.Nested = Outer.Nested() +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[type] Outer.Nested +[qualifier] Outer.Nested() +with SHORTEN_AND_IMPORT: +[type] Outer.Nested +[qualifier] Outer.Nested() +with SHORTEN_AND_STAR_IMPORT: +[type] Outer.Nested +[qualifier] Outer.Nested() diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructorArgument_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructorArgument_nested.kt new file mode 100644 index 00000000000..d31cd8fdc9c --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructorArgument_nested.kt @@ -0,0 +1,10 @@ +// FILE: main.kt + +abstract class Outer { + abstract class Nested(a: Any) : Outer() + + class OtherNested + + class Foo : Outer.Nested(Outer.OtherNested()) +} + diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructorArgument_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructorArgument_nested.txt new file mode 100644 index 00000000000..ff0aa61cffa --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructorArgument_nested.txt @@ -0,0 +1,8 @@ +Before shortening: Outer.OtherNested() +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[qualifier] Outer.OtherNested() +with SHORTEN_AND_IMPORT: +[qualifier] Outer.OtherNested() +with SHORTEN_AND_STAR_IMPORT: +[qualifier] Outer.OtherNested() diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructor_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructor_nested.kt new file mode 100644 index 00000000000..07f0e8b8448 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructor_nested.kt @@ -0,0 +1,7 @@ +// FILE: main.kt + +abstract class Outer { + abstract class Nested : Outer() + + class Foo : Outer.Nested() +} diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructor_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructor_nested.txt new file mode 100644 index 00000000000..b623ea2e9d6 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeConstructor_nested.txt @@ -0,0 +1,8 @@ +Before shortening: class Foo : Outer.Nested() +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[type] Outer.Nested +with SHORTEN_AND_IMPORT: +[type] Outer.Nested +with SHORTEN_AND_STAR_IMPORT: +[type] Outer.Nested diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeDelegation_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeDelegation_nested.kt new file mode 100644 index 00000000000..e96fa141c5a --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeDelegation_nested.kt @@ -0,0 +1,11 @@ +// FILE: main.kt + +abstract class Outer { + abstract class Nested : Outer(), Marker + + interface class Marker + + class MarkerImpl() : Marker + + class Foo : Outer.Nested(), Outer.Marker by Outer.MarkerImpl() +} diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeDelegation_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeDelegation_nested.txt new file mode 100644 index 00000000000..01584ef6e15 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeDelegation_nested.txt @@ -0,0 +1,11 @@ +Before shortening: Outer.Marker by Outer.MarkerImpl() +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[type] Outer.Marker +[qualifier] Outer.MarkerImpl() +with SHORTEN_AND_IMPORT: +[type] Outer.Marker +[qualifier] Outer.MarkerImpl() +with SHORTEN_AND_STAR_IMPORT: +[type] Outer.Marker +[qualifier] Outer.MarkerImpl() diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeTypeArguments_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeTypeArguments_nested.kt new file mode 100644 index 00000000000..30cdc979c62 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeTypeArguments_nested.kt @@ -0,0 +1,9 @@ +// FILE: main.kt + +abstract class Outer { + abstract class Nested : Outer() + + class OtherNested + + class Foo : Outer.Nested { constructor(): super() } +} diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeTypeArguments_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeTypeArguments_nested.txt new file mode 100644 index 00000000000..2aa2e0c9805 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superTypeTypeArguments_nested.txt @@ -0,0 +1,11 @@ +Before shortening: Outer.Nested +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[type] Outer.Nested +[type] Outer.OtherNested +with SHORTEN_AND_IMPORT: +[type] Outer.Nested +[type] Outer.OtherNested +with SHORTEN_AND_STAR_IMPORT: +[type] Outer.Nested +[type] Outer.OtherNested diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superType_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superType_nested.kt new file mode 100644 index 00000000000..3834a328833 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superType_nested.kt @@ -0,0 +1,7 @@ +// FILE: main.kt + +abstract class Outer { + abstract class Nested : Outer() + + class Foo : Outer.Nested { constructor(): super() } +} diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superType_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superType_nested.txt new file mode 100644 index 00000000000..8d0aa0583ee --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/superType_nested.txt @@ -0,0 +1,8 @@ +Before shortening: class Foo : Outer.Nested { constructor(): super() } +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[type] Outer.Nested +with SHORTEN_AND_IMPORT: +[type] Outer.Nested +with SHORTEN_AND_STAR_IMPORT: +[type] Outer.Nested diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/typeBound_nested.kt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/typeBound_nested.kt new file mode 100644 index 00000000000..cb981de9c52 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/typeBound_nested.kt @@ -0,0 +1,7 @@ +// FILE: main.kt + +abstract class Outer { + abstract class Nested : Outer() + + class FooOuter.Nested> : Outer.Nested() +} diff --git a/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/typeBound_nested.txt b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/typeBound_nested.txt new file mode 100644 index 00000000000..2e417ba1a81 --- /dev/null +++ b/analysis/analysis-api/testData/components/referenceShortener/referenceShortener/nestedClasses/classHeaderPositions/typeBound_nested.txt @@ -0,0 +1,8 @@ +Before shortening: Outer.Nested +with DO_NOT_SHORTEN: +with SHORTEN_IF_ALREADY_IMPORTED: +[type] Outer.Nested +with SHORTEN_AND_IMPORT: +[type] Outer.Nested +with SHORTEN_AND_STAR_IMPORT: +[type] Outer.Nested