KT-8389 Meaningless self-import insterted on "optimize imports"
#KT-8389 Fixed
This commit is contained in:
@@ -90,9 +90,14 @@ public class KotlinImportOptimizer() : ImportOptimizer {
|
|||||||
for (descriptor in descriptorsToImport) {
|
for (descriptor in descriptorsToImport) {
|
||||||
val fqName = descriptor.importableFqNameSafe
|
val fqName = descriptor.importableFqNameSafe
|
||||||
val parentFqName = fqName.parent()
|
val parentFqName = fqName.parent()
|
||||||
if (descriptor is PackageViewDescriptor || parentFqName.isRoot()) {
|
if (descriptor is PackageViewDescriptor) {
|
||||||
importsToGenerate.add(ImportPath(fqName, false))
|
importsToGenerate.add(ImportPath(fqName, false))
|
||||||
}
|
}
|
||||||
|
else if (parentFqName.isRoot()) {
|
||||||
|
if (!currentPackageName.isRoot()) {
|
||||||
|
importsToGenerate.add(ImportPath(fqName, false))
|
||||||
|
}
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
descriptorsByPackages.put(parentFqName, descriptor)
|
descriptorsByPackages.put(parentFqName, descriptor)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import java.io.Serializable
|
||||||
|
|
||||||
|
public class Test : Serializable {
|
||||||
|
companion object {
|
||||||
|
val clazz = javaClass<Test>()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import java.io.Serializable
|
||||||
|
|
||||||
|
public class Test : Serializable {
|
||||||
|
companion object {
|
||||||
|
val clazz = javaClass<Test>()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -47,6 +47,12 @@ public class OptimizeImportsTestGenerated extends AbstractOptimizeImportsTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("ClassFromSameFileImportAddedBug.kt")
|
||||||
|
public void testClassFromSameFileImportAddedBug() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ClassFromSameFileImportAddedBug.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("ClassMemberImported.kt")
|
@TestMetadata("ClassMemberImported.kt")
|
||||||
public void testClassMemberImported() throws Exception {
|
public void testClassMemberImported() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ClassMemberImported.kt");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ClassMemberImported.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user