[FIR] Fix PACKAGE_CANNOT_BE_IMPORTED diagnostic
Don't report it when there is a function/property with the same name as package
This commit is contained in:
committed by
TeamCityServer
parent
ec705d88a5
commit
972cd9e9e7
+6
@@ -11579,6 +11579,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti
|
|||||||
runTest("compiler/testData/diagnostics/tests/imports/importFunctionWithAllUnderImportAfterNamedImport.kt");
|
runTest("compiler/testData/diagnostics/tests/imports/importFunctionWithAllUnderImportAfterNamedImport.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("ImportFunctionWithPackageName.kt")
|
||||||
|
public void testImportFunctionWithPackageName() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/imports/ImportFunctionWithPackageName.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("ImportHidingDefinitionInTheSameFile.kt")
|
@TestMetadata("ImportHidingDefinitionInTheSameFile.kt")
|
||||||
public void testImportHidingDefinitionInTheSameFile() throws Exception {
|
public void testImportHidingDefinitionInTheSameFile() throws Exception {
|
||||||
|
|||||||
+6
@@ -11579,6 +11579,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac
|
|||||||
runTest("compiler/testData/diagnostics/tests/imports/importFunctionWithAllUnderImportAfterNamedImport.kt");
|
runTest("compiler/testData/diagnostics/tests/imports/importFunctionWithAllUnderImportAfterNamedImport.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("ImportFunctionWithPackageName.kt")
|
||||||
|
public void testImportFunctionWithPackageName() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/imports/ImportFunctionWithPackageName.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("ImportHidingDefinitionInTheSameFile.kt")
|
@TestMetadata("ImportHidingDefinitionInTheSameFile.kt")
|
||||||
public void testImportHidingDefinitionInTheSameFile() throws Exception {
|
public void testImportHidingDefinitionInTheSameFile() throws Exception {
|
||||||
|
|||||||
+3
-1
@@ -65,7 +65,9 @@ object FirImportsChecker : FirFileChecker() {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
val importedClassId = ClassId.topLevel(importedFqName)
|
val importedClassId = ClassId.topLevel(importedFqName)
|
||||||
if (importedClassId.resolveToClass(context) != null) {
|
if (importedClassId.resolveToClass(context) != null
|
||||||
|
|| context.session.symbolProvider.getTopLevelCallableSymbols(importedFqName.parent(), importedName).isNotEmpty()
|
||||||
|
) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
context.session.symbolProvider.getPackage(importedFqName)?.let {
|
context.session.symbolProvider.getPackage(importedFqName)?.let {
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
// FIR_IDENTICAL
|
||||||
|
//FILE:a.kt
|
||||||
|
package a.foo
|
||||||
|
|
||||||
|
//FILE:b.kt
|
||||||
|
package a
|
||||||
|
|
||||||
|
fun foo() = 2
|
||||||
|
|
||||||
|
//FILE:c.kt
|
||||||
|
package c
|
||||||
|
|
||||||
|
import a.foo
|
||||||
Generated
+6
@@ -11585,6 +11585,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest {
|
|||||||
runTest("compiler/testData/diagnostics/tests/imports/importFunctionWithAllUnderImportAfterNamedImport.kt");
|
runTest("compiler/testData/diagnostics/tests/imports/importFunctionWithAllUnderImportAfterNamedImport.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("ImportFunctionWithPackageName.kt")
|
||||||
|
public void testImportFunctionWithPackageName() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/imports/ImportFunctionWithPackageName.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("ImportHidingDefinitionInTheSameFile.kt")
|
@TestMetadata("ImportHidingDefinitionInTheSameFile.kt")
|
||||||
public void testImportHidingDefinitionInTheSameFile() throws Exception {
|
public void testImportHidingDefinitionInTheSameFile() throws Exception {
|
||||||
|
|||||||
+5
@@ -10097,6 +10097,11 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag
|
|||||||
runTest("compiler/testData/diagnostics/tests/imports/importFunctionWithAllUnderImportAfterNamedImport.kt");
|
runTest("compiler/testData/diagnostics/tests/imports/importFunctionWithAllUnderImportAfterNamedImport.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ImportFunctionWithPackageName.kt")
|
||||||
|
public void testImportFunctionWithPackageName() throws Exception {
|
||||||
|
runTest("compiler/testData/diagnostics/tests/imports/ImportFunctionWithPackageName.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("ImportHidingDefinitionInTheSameFile.kt")
|
@TestMetadata("ImportHidingDefinitionInTheSameFile.kt")
|
||||||
public void testImportHidingDefinitionInTheSameFile() throws Exception {
|
public void testImportHidingDefinitionInTheSameFile() throws Exception {
|
||||||
runTest("compiler/testData/diagnostics/tests/imports/ImportHidingDefinitionInTheSameFile.kt");
|
runTest("compiler/testData/diagnostics/tests/imports/ImportHidingDefinitionInTheSameFile.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user