[Analysis API] fix resolution to declarations inside kotlin*. packages
`kotlin*.` packages should be always allowed. `kotlin.` packages should be allowed if `AnalysisFlags.allowKotlinPackage` is `true` ^KT-63223 fixed
This commit is contained in:
committed by
Space Team
parent
d22218e4e4
commit
c54d83dcad
+16
@@ -2064,6 +2064,22 @@ public class Fe10IdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exte
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/kotlinPackage")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class KotlinPackage {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInKotlinPackage() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kotlinxPackage.kt")
|
||||||
|
public void testKotlinxPackage() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinxPackage.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+10
@@ -378,6 +378,16 @@ public class FirIdeDependentAnalysisScriptSourceModuleReferenceResolveTestGenera
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/kotlinPackage")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class KotlinPackage {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInKotlinPackage() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^(.+)\\.kts$"), null, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+16
@@ -2064,6 +2064,22 @@ public class FirIdeDependentAnalysisSourceModuleReferenceResolveTestGenerated ex
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/kotlinPackage")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class KotlinPackage {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInKotlinPackage() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kotlinxPackage.kt")
|
||||||
|
public void testKotlinxPackage() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinxPackage.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+16
@@ -1908,6 +1908,22 @@ public class FirIdeNormalAnalysisLibrarySourceModuleReferenceResolveTestGenerate
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/kotlinPackage")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class KotlinPackage {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInKotlinPackage() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^([^.]+)\\.kt$"), null, true, "withErrors");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kotlinxPackage.kt")
|
||||||
|
public void testKotlinxPackage() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinxPackage.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+10
@@ -378,6 +378,16 @@ public class FirIdeNormalAnalysisScriptSourceModuleReferenceResolveTestGenerated
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/kotlinPackage")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class KotlinPackage {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInKotlinPackage() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^(.+)\\.kts$"), null, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+16
@@ -2064,6 +2064,22 @@ public class FirIdeNormalAnalysisSourceModuleReferenceResolveTestGenerated exten
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/kotlinPackage")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class KotlinPackage {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInKotlinPackage() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kotlinxPackage.kt")
|
||||||
|
public void testKotlinxPackage() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinxPackage.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+16
@@ -2064,6 +2064,22 @@ public class FirStandaloneNormalAnalysisSourceModuleReferenceResolveTestGenerate
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nested
|
||||||
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/kotlinPackage")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
public class KotlinPackage {
|
||||||
|
@Test
|
||||||
|
public void testAllFilesPresentInKotlinPackage() throws Exception {
|
||||||
|
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/referenceResolve/kotlinPackage"), Pattern.compile("^([^.]+)\\.kt$"), null, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("kotlinxPackage.kt")
|
||||||
|
public void testKotlinxPackage() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/referenceResolve/kotlinPackage/kotlinxPackage.kt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
@TestMetadata("analysis/analysis-api/testData/referenceResolve/nestedTypes")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
|||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
// FILE: a.kt
|
||||||
|
package kotlinx.pckg
|
||||||
|
|
||||||
|
fun foo() {
|
||||||
|
b<caret>ar()
|
||||||
|
}
|
||||||
|
|
||||||
|
// FILE: b.kt
|
||||||
|
package kotlinx.pckg
|
||||||
|
|
||||||
|
fun bar() {
|
||||||
|
}
|
||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
Resolved to:
|
||||||
|
0: (in kotlinx.pckg) fun bar()
|
||||||
+4
-1
@@ -53,4 +53,7 @@ internal open class LLFirKotlinSymbolNamesProvider(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun FqName.isKotlinPackage(): Boolean = startsWith(StandardNames.BUILT_INS_PACKAGE_NAME)
|
private fun FqName.isKotlinPackage(): Boolean = startsWith(StandardNames.BUILT_INS_PACKAGE_NAME)
|
||||||
private fun String.isKotlinPackage(): Boolean = startsWith(StandardNames.BUILT_INS_PACKAGE_NAME.asString())
|
private fun String.isKotlinPackage(): Boolean = startsWith(KOTLIN_PACKAGE_PREFIX)
|
||||||
|
|
||||||
|
private const val KOTLIN_PACKAGE_PREFIX = "kotlin."
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user