KT-8961 Optimize Imports adds useless import for static Java method reference
#KT-8961 Fixed
This commit is contained in:
@@ -29,13 +29,13 @@ import org.jetbrains.kotlin.idea.caches.resolve.getFileTopLevelScope
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.getResolutionFacade
|
||||
import org.jetbrains.kotlin.idea.core.formatter.JetCodeStyleSettings
|
||||
import org.jetbrains.kotlin.idea.references.JetReference
|
||||
import org.jetbrains.kotlin.idea.util.CallTypeAndReceiver
|
||||
import org.jetbrains.kotlin.idea.util.ImportInsertHelper
|
||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getReceiverExpression
|
||||
import org.jetbrains.kotlin.psi.psiUtil.isAncestor
|
||||
import org.jetbrains.kotlin.renderer.render
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
@@ -105,8 +105,7 @@ public class KotlinImportOptimizer() : ImportOptimizer {
|
||||
|
||||
if (!target.isExtension) { // for non-extension targets, count only non-qualified simple name usages
|
||||
if (element !is JetNameReferenceExpression) continue
|
||||
if (element.getIdentifier() == null) continue // skip 'this' etc
|
||||
if (element.getReceiverExpression() != null) continue
|
||||
if (CallTypeAndReceiver.detect(element).receiver != null) continue
|
||||
}
|
||||
|
||||
val importableDescriptor = target.getImportableDescriptor()
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
import javax.swing.SwingUtilities.invokeLater
|
||||
|
||||
fun test() {
|
||||
val ref1 = Thread::currentThread
|
||||
val ref2 = ::invokeLater
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import javax.swing.SwingUtilities.invokeLater
|
||||
|
||||
fun test() {
|
||||
val ref1 = Thread::currentThread
|
||||
val ref2 = ::invokeLater
|
||||
}
|
||||
@@ -47,6 +47,12 @@ public class OptimizeImportsTestGenerated extends AbstractOptimizeImportsTest {
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("CallableReference.kt")
|
||||
public void testCallableReference() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/CallableReference.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("ClassFromSameFileImportAddedBug.kt")
|
||||
public void testClassFromSameFileImportAddedBug() throws Exception {
|
||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/editor/optimizeImports/ClassFromSameFileImportAddedBug.kt");
|
||||
|
||||
Reference in New Issue
Block a user