KT-9834 Optimizing imports with named import (kinda like static import)

#KT-9834 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-01-15 15:40:16 +03:00
parent bec16efbd7
commit 4c2a14ff43
4 changed files with 15 additions and 3 deletions
@@ -23,14 +23,14 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.idea.caches.resolve.analyze
import org.jetbrains.kotlin.idea.util.getFileResolutionScope
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings
import org.jetbrains.kotlin.idea.util.getResolutionScope
import org.jetbrains.kotlin.idea.references.KtReference
import org.jetbrains.kotlin.idea.references.canBeResolvedViaImport
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
import org.jetbrains.kotlin.idea.util.application.runWriteAction
import org.jetbrains.kotlin.idea.util.getFileResolutionScope
import org.jetbrains.kotlin.idea.util.getResolutionScope
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.name.Name
@@ -256,7 +256,7 @@ class KotlinImportOptimizer() : ImportOptimizer {
for (import in imports) {
val path = import.importPath ?: continue
val aliasName = path.alias
if (aliasName != null) {
if (aliasName != null && aliasName != path.fqnPart().shortName() /* we do not keep trivial aliases */) {
aliasImports.put(aliasName, path.fqnPart())
}
}
+3
View File
@@ -0,0 +1,3 @@
import java.io.File as File
val file: File
@@ -0,0 +1,3 @@
import java.io.File
val file: File
@@ -227,6 +227,12 @@ public class OptimizeImportsTestGenerated extends AbstractOptimizeImportsTest {
doTest(fileName);
}
@TestMetadata("TrivialAlias.kt")
public void testTrivialAlias() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/TrivialAlias.kt");
doTest(fileName);
}
@TestMetadata("UnusedImports.kt")
public void testUnusedImports() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/UnusedImports.kt");