From 89407fdcb23ab65d298c147d44a7af653d54c097 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Tue, 5 Mar 2013 23:57:37 +0400 Subject: [PATCH] Cleanup in quickfix code. --- .../quickfix/MapPlatformClassToKotlinFix.java | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/MapPlatformClassToKotlinFix.java b/idea/src/org/jetbrains/jet/plugin/quickfix/MapPlatformClassToKotlinFix.java index cebae8e8095..5d20a304e83 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/MapPlatformClassToKotlinFix.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/MapPlatformClassToKotlinFix.java @@ -107,6 +107,18 @@ public class MapPlatformClassToKotlinFix extends JetIntentionAction replacedElements = replaceUsagesWithFirstClass(project, usages); + + if (possibleClasses.size() > 1) { + LinkedHashSet possibleTypes = new LinkedHashSet(); + for (ClassDescriptor klass : possibleClasses) { + possibleTypes.add(klass.getName().getName()); + } + buildAndShowTemplate(project, editor, file, replacedElements, possibleTypes); + } + } + + private List replaceUsagesWithFirstClass(Project project, List usages) { ClassDescriptor replacementClass = possibleClasses.iterator().next(); String replacementClassName = replacementClass.getName().getName(); List replacedElements = new ArrayList(); @@ -121,33 +133,28 @@ public class MapPlatformClassToKotlinFix extends JetIntentionAction 1) { - LinkedHashSet possibleTypes = new LinkedHashSet(); - for (ClassDescriptor klass : possibleClasses) { - possibleTypes.add(klass.getName().getName()); - } - buildAndShowTemplate(project, editor, file, replacedElements, possibleTypes, - JetBundle.message("map.platform.class.to.kotlin.advertisement")); - } + return replacedElements; } - private static void buildAndShowTemplate(Project project, Editor editor, PsiFile file, - Collection replaceElements, LinkedHashSet options, String advertisement) { + private static void buildAndShowTemplate( + Project project, Editor editor, PsiFile file, + Collection replacedElements, LinkedHashSet options + ) { PsiDocumentManager.getInstance(project).commitAllDocuments(); PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(editor.getDocument()); - PsiElement primaryReplacedExpression = replaceElements.iterator().next(); + PsiElement primaryReplacedExpression = replacedElements.iterator().next(); final CaretModel caretModel = editor.getCaretModel(); final int oldOffset = caretModel.getOffset(); caretModel.moveToOffset(file.getNode().getStartOffset()); TemplateBuilderImpl builder = new TemplateBuilderImpl(file); - Expression expression = new MyLookupExpression(primaryReplacedExpression.getText(), options, null, false, advertisement); + Expression expression = new MyLookupExpression(primaryReplacedExpression.getText(), options, null, false, + JetBundle.message("map.platform.class.to.kotlin.advertisement")); builder.replaceElement(primaryReplacedExpression, PRIMARY_USAGE, expression, true); - for (PsiElement replacedExpression : replaceElements) { + for (PsiElement replacedExpression : replacedElements) { if (replacedExpression == primaryReplacedExpression) continue; builder.replaceElement(replacedExpression, OTHER_USAGE, PRIMARY_USAGE, false); }