KT-3521 Import suggestions icons are always classes

#KT-3521 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-02-09 20:10:36 +03:00
parent 8f7cf38e67
commit e57799ca00
@@ -28,7 +28,6 @@ import com.intellij.openapi.ui.popup.PopupStep
import com.intellij.openapi.ui.popup.util.BaseListPopupStep import com.intellij.openapi.ui.popup.util.BaseListPopupStep
import com.intellij.psi.PsiDocumentManager import com.intellij.psi.PsiDocumentManager
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import com.intellij.util.PlatformIcons
import org.jetbrains.kotlin.idea.JetBundle import org.jetbrains.kotlin.idea.JetBundle
import org.jetbrains.kotlin.idea.util.ImportInsertHelper import org.jetbrains.kotlin.idea.util.ImportInsertHelper
import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.FqName
@@ -37,13 +36,13 @@ import org.jetbrains.kotlin.psi.JetSimpleNameExpression
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
import com.intellij.openapi.module.ModuleUtilCore import com.intellij.openapi.module.ModuleUtilCore
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil import org.jetbrains.kotlin.idea.util.ProjectRootsUtil
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToDeclarationUtil
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor import org.jetbrains.kotlin.descriptors.PackageViewDescriptor
import org.jetbrains.kotlin.idea.imports.importableFqNameSafe import org.jetbrains.kotlin.idea.imports.importableFqNameSafe
import org.jetbrains.kotlin.idea.util.ShortenReferences
import org.jetbrains.kotlin.idea.references.JetSimpleNameReference import org.jetbrains.kotlin.idea.references.JetSimpleNameReference
import org.jetbrains.kotlin.idea.JetDescriptorIconProvider
import org.jetbrains.kotlin.idea.codeInsight.DescriptorToDeclarationUtil
/** /**
* Automatically adds import directive to the file for resolving reference. * Automatically adds import directive to the file for resolving reference.
@@ -65,7 +64,7 @@ public class JetAddImportAction(
} }
private fun detectPriority(descriptor: DeclarationDescriptor): Priority { private fun detectPriority(descriptor: DeclarationDescriptor): Priority {
val declaration = DescriptorToDeclarationUtil.getDeclaration(element.getContainingJetFile(), descriptor) val declaration = DescriptorToDeclarationUtil.getDeclaration(project, descriptor)
return when { return when {
declaration == null -> Priority.OTHER declaration == null -> Priority.OTHER
ModuleUtilCore.findModuleForPsiElement(declaration) == module -> Priority.MODULE ModuleUtilCore.findModuleForPsiElement(declaration) == module -> Priority.MODULE
@@ -91,6 +90,7 @@ public class JetAddImportAction(
} }
}.first() }.first()
} }
val declarationToImport = DescriptorToDeclarationUtil.getDeclaration(project, descriptorToImport)
} }
private val variants = candidates private val variants = candidates
@@ -146,8 +146,7 @@ public class JetAddImportAction(
override fun getTextFor(value: Variant) = value.fqName.asString() override fun getTextFor(value: Variant) = value.fqName.asString()
// TODO: change icon override fun getIconFor(value: Variant) = JetDescriptorIconProvider.getIcon(value.descriptorToImport, value.declarationToImport, 0)
override fun getIconFor(aValue: Variant) = PlatformIcons.CLASS_ICON
} }
} }