KT-64051 [AA] Fix resolve of KDoc references to a typealias by full name

This commit is contained in:
Vadim.Mishenev
2024-03-11 21:38:09 +00:00
committed by Space Team
parent 8b7ca9527a
commit df1d44b15f
16 changed files with 203 additions and 1 deletions
@@ -2019,6 +2019,12 @@ public class Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exte
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/callables"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("callableFromTypealias.kt")
public void testCallableFromTypealias() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/callables/callableFromTypealias.kt");
}
@Test
@TestMetadata("functionFromClass.kt")
public void testFunctionFromClass() {
@@ -2342,6 +2348,18 @@ public class Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exte
public void testTopLevelFunctionFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TopLevelFunctionFromStdlibByShortName.kt");
}
@Test
@TestMetadata("TypealiasFromOtherFileByFullName.kt")
public void testTypealiasFromOtherFileByFullName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TypealiasFromOtherFileByFullName.kt");
}
@Test
@TestMetadata("TypealiasFromOtherFileByShortName.kt")
public void testTypealiasFromOtherFileByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TypealiasFromOtherFileByShortName.kt");
}
}
@Nested
@@ -2388,6 +2406,18 @@ public class Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exte
public void testTopLevelFunctionFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TopLevelFunctionFromStdlibByShortName.kt");
}
@Test
@TestMetadata("TypealiasFromStdlibByFullName.kt")
public void testTypealiasFromStdlibByFullName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TypealiasFromStdlibByFullName.kt");
}
@Test
@TestMetadata("TypealiasFromStdlibByShortName.kt")
public void testTypealiasFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TypealiasFromStdlibByShortName.kt");
}
}
}
@@ -407,7 +407,7 @@ internal object KDocReferenceResolver {
context(KtAnalysisSession)
private fun MutableCollection<KtSymbol>.collectSymbolsByClassId(classId: ClassId) {
getClassOrObjectSymbolByClassId(classId)?.let(::add)
(getClassOrObjectSymbolByClassId(classId) ?: getTypeAliasByClassId(classId))?.let(::add)
}
context(KtAnalysisSession)
@@ -2019,6 +2019,12 @@ public class FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated ex
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/callables"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("callableFromTypealias.kt")
public void testCallableFromTypealias() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/callables/callableFromTypealias.kt");
}
@Test
@TestMetadata("functionFromClass.kt")
public void testFunctionFromClass() {
@@ -2342,6 +2348,18 @@ public class FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated ex
public void testTopLevelFunctionFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TopLevelFunctionFromStdlibByShortName.kt");
}
@Test
@TestMetadata("TypealiasFromOtherFileByFullName.kt")
public void testTypealiasFromOtherFileByFullName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TypealiasFromOtherFileByFullName.kt");
}
@Test
@TestMetadata("TypealiasFromOtherFileByShortName.kt")
public void testTypealiasFromOtherFileByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TypealiasFromOtherFileByShortName.kt");
}
}
@Nested
@@ -2388,6 +2406,18 @@ public class FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated ex
public void testTopLevelFunctionFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TopLevelFunctionFromStdlibByShortName.kt");
}
@Test
@TestMetadata("TypealiasFromStdlibByFullName.kt")
public void testTypealiasFromStdlibByFullName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TypealiasFromStdlibByFullName.kt");
}
@Test
@TestMetadata("TypealiasFromStdlibByShortName.kt")
public void testTypealiasFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TypealiasFromStdlibByShortName.kt");
}
}
}
@@ -1903,6 +1903,12 @@ public class FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerate
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/callables"), Pattern.compile("^([^.]+)\\.kt$"), null, true, "withErrors");
}
@Test
@TestMetadata("callableFromTypealias.kt")
public void testCallableFromTypealias() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/callables/callableFromTypealias.kt");
}
@Test
@TestMetadata("functionFromClass.kt")
public void testFunctionFromClass() {
@@ -2226,6 +2232,18 @@ public class FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerate
public void testTopLevelFunctionFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TopLevelFunctionFromStdlibByShortName.kt");
}
@Test
@TestMetadata("TypealiasFromOtherFileByFullName.kt")
public void testTypealiasFromOtherFileByFullName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TypealiasFromOtherFileByFullName.kt");
}
@Test
@TestMetadata("TypealiasFromOtherFileByShortName.kt")
public void testTypealiasFromOtherFileByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TypealiasFromOtherFileByShortName.kt");
}
}
@Nested
@@ -2272,6 +2290,18 @@ public class FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerate
public void testTopLevelFunctionFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TopLevelFunctionFromStdlibByShortName.kt");
}
@Test
@TestMetadata("TypealiasFromStdlibByFullName.kt")
public void testTypealiasFromStdlibByFullName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TypealiasFromStdlibByFullName.kt");
}
@Test
@TestMetadata("TypealiasFromStdlibByShortName.kt")
public void testTypealiasFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TypealiasFromStdlibByShortName.kt");
}
}
}
@@ -2019,6 +2019,12 @@ public class FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exten
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/callables"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("callableFromTypealias.kt")
public void testCallableFromTypealias() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/callables/callableFromTypealias.kt");
}
@Test
@TestMetadata("functionFromClass.kt")
public void testFunctionFromClass() {
@@ -2342,6 +2348,18 @@ public class FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exten
public void testTopLevelFunctionFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TopLevelFunctionFromStdlibByShortName.kt");
}
@Test
@TestMetadata("TypealiasFromOtherFileByFullName.kt")
public void testTypealiasFromOtherFileByFullName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TypealiasFromOtherFileByFullName.kt");
}
@Test
@TestMetadata("TypealiasFromOtherFileByShortName.kt")
public void testTypealiasFromOtherFileByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TypealiasFromOtherFileByShortName.kt");
}
}
@Nested
@@ -2388,6 +2406,18 @@ public class FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exten
public void testTopLevelFunctionFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TopLevelFunctionFromStdlibByShortName.kt");
}
@Test
@TestMetadata("TypealiasFromStdlibByFullName.kt")
public void testTypealiasFromStdlibByFullName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TypealiasFromStdlibByFullName.kt");
}
@Test
@TestMetadata("TypealiasFromStdlibByShortName.kt")
public void testTypealiasFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TypealiasFromStdlibByShortName.kt");
}
}
}
@@ -2019,6 +2019,12 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerate
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/callables"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
}
@Test
@TestMetadata("callableFromTypealias.kt")
public void testCallableFromTypealias() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/callables/callableFromTypealias.kt");
}
@Test
@TestMetadata("functionFromClass.kt")
public void testFunctionFromClass() {
@@ -2342,6 +2348,18 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerate
public void testTopLevelFunctionFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TopLevelFunctionFromStdlibByShortName.kt");
}
@Test
@TestMetadata("TypealiasFromOtherFileByFullName.kt")
public void testTypealiasFromOtherFileByFullName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TypealiasFromOtherFileByFullName.kt");
}
@Test
@TestMetadata("TypealiasFromOtherFileByShortName.kt")
public void testTypealiasFromOtherFileByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/fromOtherFile/TypealiasFromOtherFileByShortName.kt");
}
}
@Nested
@@ -2388,6 +2406,18 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerate
public void testTopLevelFunctionFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TopLevelFunctionFromStdlibByShortName.kt");
}
@Test
@TestMetadata("TypealiasFromStdlibByFullName.kt")
public void testTypealiasFromStdlibByFullName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TypealiasFromStdlibByFullName.kt");
}
@Test
@TestMetadata("TypealiasFromStdlibByShortName.kt")
public void testTypealiasFromStdlibByShortName() {
runTest("analysis/analysis-api/testData/referenceResolve/kDoc/qualified/stdlib/TypealiasFromStdlibByShortName.kt");
}
}
}
@@ -0,0 +1,7 @@
typealias I = String
/**
* [I.<caret_1>length] is unresolved
* [String.<caret_2>length] is resolved
*/
fun usage() {}
@@ -0,0 +1,5 @@
<caret_1> resolved to:
Nothing (Unresolved reference)
<caret_2> resolved to:
0: (in kotlin.String) open val length: kotlin.Int
@@ -0,0 +1,10 @@
// FILE: a.kt
/**
* [b.B<caret>B]
*/
fun x() {}
// FILE: b.kt
package b
typealias BB = Int
@@ -0,0 +1,2 @@
Resolved to:
0: (in b) typealias BB = kotlin.Int
@@ -0,0 +1,12 @@
// FILE: a.kt
import b.BB
/**
* [B<caret>B]
*/
fun x() {}
// FILE: b.kt
package b
typealias BB = Int
@@ -0,0 +1,2 @@
Resolved to:
0: (in b) typealias BB = kotlin.Int
@@ -0,0 +1,4 @@
/**
* [kotlin.collections.A<caret>rrayList]
*/
fun x() {}
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin.collections) typealias ArrayList<E> = java.util.ArrayList<E>
@@ -0,0 +1,6 @@
import kotlin.collections.ArrayList
/**
* [A<caret>rrayList]
*/
fun x() {}
@@ -0,0 +1,2 @@
Resolved to:
0: (in kotlin.collections) typealias ArrayList<E> = java.util.ArrayList<E>