diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/CreateFunctionFromUsageFix.kt b/idea/src/org/jetbrains/jet/plugin/quickfix/CreateFunctionFromUsageFix.kt
index a2c63d32e13..8a2b4526729 100644
--- a/idea/src/org/jetbrains/jet/plugin/quickfix/CreateFunctionFromUsageFix.kt
+++ b/idea/src/org/jetbrains/jet/plugin/quickfix/CreateFunctionFromUsageFix.kt
@@ -25,7 +25,6 @@ import com.intellij.codeInsight.template.impl.TemplateImpl
import com.intellij.codeInsight.template.impl.Variable
import com.intellij.ide.fileTemplates.FileTemplate
import com.intellij.ide.fileTemplates.FileTemplateManager
-import com.intellij.ide.util.PsiElementListCellRenderer
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.command.CommandProcessor
import com.intellij.openapi.editor.Editor
@@ -56,10 +55,8 @@ import org.jetbrains.jet.lang.types.*
import org.jetbrains.jet.lang.types.checker.JetTypeChecker
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns
import org.jetbrains.jet.plugin.JetBundle
-import org.jetbrains.jet.plugin.caches.resolve
import org.jetbrains.jet.plugin.codeInsight.DescriptorToDeclarationUtil
import org.jetbrains.jet.plugin.codeInsight.ShortenReferences
-import org.jetbrains.jet.plugin.presentation.JetClassPresenter
import org.jetbrains.jet.plugin.refactoring.JetNameSuggester
import org.jetbrains.jet.plugin.refactoring.JetNameValidator
import org.jetbrains.jet.plugin.references.JetSimpleNameReference
@@ -71,7 +68,6 @@ import java.util.Collections
import java.util.HashSet
import java.util.HashMap
import java.util.ArrayList
-import java.awt.Component
import java.util.Properties
import org.jetbrains.jet.plugin.caches.resolve.getAnalysisResults
import org.jetbrains.jet.plugin.caches.resolve.getBindingContext
@@ -120,23 +116,6 @@ private class ClassCandidate(public val typeCandidate: TypeCandidate, file: JetF
) as JetClass
}
-/**
- * Renders a ClassCandidate.
- */
-private class ClassCandidateListCellRenderer : PsiElementListCellRenderer() {
- private val presenter: JetClassPresenter = JetClassPresenter();
-
- override fun getElementText(element: JetClass?) = presenter.getPresentation(element!!)?.getPresentableText()
-
- override fun getContainerText(element: JetClass?, name: String?) = presenter.getPresentation(element!!)?.getLocationString()
-
- override fun getIconFlags() = 0
-
- override fun getListCellRendererComponent(list: JList, value: Any?, index: Int, isSelected: Boolean, cellHasFocus: Boolean): Component? {
- return super.getListCellRendererComponent(list, (value as ClassCandidate).jetClass, index, isSelected, cellHasFocus)
- }
-}
-
/**
* Represents a concrete type or a set of types yet to be inferred from an expression.
*/
@@ -570,7 +549,7 @@ public class CreateFunctionFromUsageFix internal (
else {
// class selection
val list = JBList(ownerTypeCandidates.map { ClassCandidate(it, currentFile, currentFileContext) })
- val renderer = ClassCandidateListCellRenderer()
+ val renderer = QuickFixUtil.ClassCandidateListCellRenderer()
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)
list.setCellRenderer(renderer)
val builder = PopupChooserBuilder(list)
diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java b/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java
index e4856bcd64d..e6143cafcad 100644
--- a/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java
+++ b/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2010-2013 JetBrains s.r.o.
+ * Copyright 2010-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@ package org.jetbrains.jet.plugin.quickfix;
import com.google.common.collect.Sets;
import com.intellij.extapi.psi.ASTDelegatePsiElement;
+import com.intellij.ide.util.PsiElementListCellRenderer;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiWhiteSpace;
@@ -37,8 +38,11 @@ import org.jetbrains.jet.lang.types.DeferredType;
import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.checker.JetTypeChecker;
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
+import org.jetbrains.jet.plugin.presentation.JetClassPresenter;
import org.jetbrains.jet.plugin.references.BuiltInsReferenceResolver;
+import javax.swing.*;
+import java.awt.*;
import java.util.List;
import java.util.Set;
@@ -233,4 +237,29 @@ public class QuickFixUtil {
return usedParameters;
}
+
+ static class ClassCandidateListCellRenderer extends PsiElementListCellRenderer {
+ private final JetClassPresenter presenter = new JetClassPresenter();
+
+ @Override
+ public String getElementText(JetClass element) {
+ return presenter.getPresentation(element).getPresentableText();
+ }
+
+ @Nullable
+ @Override
+ protected String getContainerText(JetClass element, String name) {
+ return presenter.getPresentation(element).getLocationString();
+ }
+
+ @Override
+ protected int getIconFlags() {
+ return 0;
+ }
+
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+ return super.getListCellRendererComponent(list, ((ClassCandidate) value).getJetClass(), index, isSelected, cellHasFocus);
+ }
+ }
}