diff --git a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/references/Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated.java b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/references/Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated.java index b9d5dfc260c..a3e26e93ecf 100644 --- a/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/references/Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated.java +++ b/analysis/analysis-api-fe10/tests-gen/org/jetbrains/kotlin/analysis/api/fe10/test/cases/generated/cases/references/Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated.java @@ -1049,6 +1049,22 @@ public class Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exte KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc"), Pattern.compile("^([^.]+)\\.kt$"), null, true); } + @Nested + @TestMetadata("analysis/analysis-api/testData/referenceResolve/kDoc/imports") + @TestDataPath("$PROJECT_ROOT") + public class Imports { + @Test + public void testAllFilesPresentInImports() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc/imports"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("TypeAliasedImport.kt") + public void testTypeAliasedImport() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.kt"); + } + } + @Nested @TestMetadata("analysis/analysis-api/testData/referenceResolve/kDoc/localContext") @TestDataPath("$PROJECT_ROOT") diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/Import.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/Import.kt index 760cf1524f6..b7a988226ad 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/Import.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/Import.kt @@ -20,6 +20,7 @@ internal class NonStarImport( override val relativeClassName: FqName?, override val resolvedClassId: ClassId?, val callableName: Name?, + val aliasName: Name?, ) : Import() internal class StarImport( diff --git a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/KtFirNonStarImportingScope.kt b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/KtFirNonStarImportingScope.kt index c74b74a4ee9..7b4e6b411f1 100644 --- a/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/KtFirNonStarImportingScope.kt +++ b/analysis/analysis-api-fir/src/org/jetbrains/kotlin/analysis/api/fir/scopes/KtFirNonStarImportingScope.kt @@ -38,7 +38,8 @@ internal class KtFirNonStarImportingScope( import.packageFqName, importedClassId?.relativeClassName, importedClassId, - import.importedName + import.importedName, + import.aliasName, ).let(::add) } } @@ -60,10 +61,10 @@ internal class KtFirNonStarImportingScope( override fun getConstructors(): Sequence = withValidityAssertion { emptySequence() } override fun getPossibleCallableNames(): Set = withValidityAssertion { - imports.mapNotNullTo(hashSetOf()) { it.callableName } + imports.flatMapTo(hashSetOf()) { listOfNotNull(it.callableName, it.aliasName) } } override fun getPossibleClassifierNames(): Set = withValidityAssertion { - imports.mapNotNullTo((hashSetOf())) { it.relativeClassName?.shortName() } + imports.flatMapTo((hashSetOf())) { listOfNotNull(it.relativeClassName?.shortName(), it.aliasName) } } } diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated.java index 1d23a0ba73e..c60ede6c543 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated.java @@ -1049,6 +1049,22 @@ public class FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated ex KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc"), Pattern.compile("^([^.]+)\\.kt$"), null, true); } + @Nested + @TestMetadata("analysis/analysis-api/testData/referenceResolve/kDoc/imports") + @TestDataPath("$PROJECT_ROOT") + public class Imports { + @Test + public void testAllFilesPresentInImports() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc/imports"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("TypeAliasedImport.kt") + public void testTypeAliasedImport() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.kt"); + } + } + @Nested @TestMetadata("analysis/analysis-api/testData/referenceResolve/kDoc/localContext") @TestDataPath("$PROJECT_ROOT") diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerated.java index ac64c23ddee..17fb52c8690 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerated.java @@ -939,6 +939,22 @@ public class FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerate KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc"), Pattern.compile("^([^.]+)\\.kt$"), null, true, "withErrors"); } + @Nested + @TestMetadata("analysis/analysis-api/testData/referenceResolve/kDoc/imports") + @TestDataPath("$PROJECT_ROOT") + public class Imports { + @Test + public void testAllFilesPresentInImports() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc/imports"), Pattern.compile("^([^.]+)\\.kt$"), null, true, "withErrors"); + } + + @Test + @TestMetadata("TypeAliasedImport.kt") + public void testTypeAliasedImport() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.kt"); + } + } + @Nested @TestMetadata("analysis/analysis-api/testData/referenceResolve/kDoc/localContext") @TestDataPath("$PROJECT_ROOT") diff --git a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated.java b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated.java index 17e518c6bdc..03fd35a334e 100644 --- a/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated.java +++ b/analysis/analysis-api-fir/tests-gen/org/jetbrains/kotlin/analysis/api/fir/test/cases/generated/cases/references/FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated.java @@ -1049,6 +1049,22 @@ public class FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exten KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc"), Pattern.compile("^([^.]+)\\.kt$"), null, true); } + @Nested + @TestMetadata("analysis/analysis-api/testData/referenceResolve/kDoc/imports") + @TestDataPath("$PROJECT_ROOT") + public class Imports { + @Test + public void testAllFilesPresentInImports() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc/imports"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("TypeAliasedImport.kt") + public void testTypeAliasedImport() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.kt"); + } + } + @Nested @TestMetadata("analysis/analysis-api/testData/referenceResolve/kDoc/localContext") @TestDataPath("$PROJECT_ROOT") diff --git a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerated.java b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerated.java index e92fc791c3b..11fde42ceeb 100644 --- a/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerated.java +++ b/analysis/analysis-api-standalone/tests-gen/org/jetbrains/kotlin/analysis/api/standalone/fir/test/cases/generated/cases/references/FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerated.java @@ -1049,6 +1049,22 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerate KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc"), Pattern.compile("^([^.]+)\\.kt$"), null, true); } + @Nested + @TestMetadata("analysis/analysis-api/testData/referenceResolve/kDoc/imports") + @TestDataPath("$PROJECT_ROOT") + public class Imports { + @Test + public void testAllFilesPresentInImports() throws Exception { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc/imports"), Pattern.compile("^([^.]+)\\.kt$"), null, true); + } + + @Test + @TestMetadata("TypeAliasedImport.kt") + public void testTypeAliasedImport() throws Exception { + runTest("analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.kt"); + } + } + @Nested @TestMetadata("analysis/analysis-api/testData/referenceResolve/kDoc/localContext") @TestDataPath("$PROJECT_ROOT") diff --git a/analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.kt b/analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.kt new file mode 100644 index 00000000000..3d953eb3e14 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.kt @@ -0,0 +1,8 @@ +import kotlin.collections.listOf as lst + +/** + * [lst] + */ +fun x() { + +} \ No newline at end of file diff --git a/analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.txt b/analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.txt new file mode 100644 index 00000000000..6c6c1703ba7 --- /dev/null +++ b/analysis/analysis-api/testData/referenceResolve/kDoc/imports/TypeAliasedImport.txt @@ -0,0 +1,4 @@ +Resolved to: +0: (in kotlin.collections) fun listOf(element: T): kotlin.collections.List +1: (in kotlin.collections) fun listOf(vararg elements: T): kotlin.collections.List +2: (in kotlin.collections) inline fun listOf(): kotlin.collections.List