From 180f78be9eeeafe817c141b02aed730ebce864d7 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Tue, 14 Aug 2018 14:59:28 +0200 Subject: [PATCH] type may be weakened: preserve comments --- .../ig/abstraction/TypeMayBeWeakenedInspection.java | 13 +++++-------- .../type_may_be_weakened/Generic.after.java | 3 ++- .../abstraction/type_may_be_weakened/Generic.java | 3 ++- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java b/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java index 1a374974a088..fff955743ab1 100644 --- a/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java +++ b/plugins/InspectionGadgets/src/com/siyeh/ig/abstraction/TypeMayBeWeakenedInspection.java @@ -28,9 +28,7 @@ import com.intellij.openapi.command.undo.BasicUndoableAction; import com.intellij.openapi.command.undo.UndoManager; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.fileEditor.FileEditorManager; -import com.intellij.openapi.progress.ProgressIndicatorProvider; import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.VerticalFlowLayout; import com.intellij.openapi.ui.popup.JBPopupFactory; import com.intellij.openapi.ui.popup.ListPopup; import com.intellij.openapi.ui.popup.PopupStep; @@ -44,7 +42,6 @@ import com.intellij.psi.util.InheritanceUtil; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; import com.intellij.psi.util.PsiUtilCore; -import com.intellij.ui.components.JBScrollBar; import com.intellij.ui.components.JBScrollPane; import com.intellij.ui.components.panels.VerticalBox; import com.intellij.util.ObjectUtils; @@ -52,6 +49,7 @@ import com.intellij.util.Query; import com.intellij.util.containers.OrderedSet; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.psiutils.ClassUtils; +import com.siyeh.ig.psiutils.CommentTracker; import com.siyeh.ig.psiutils.MethodUtils; import com.siyeh.ig.psiutils.WeakestTypeFinder; import com.siyeh.ig.ui.UiUtils; @@ -63,9 +61,7 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import javax.swing.*; -import java.awt.*; import java.util.*; -import java.util.List; import java.util.stream.Collectors; public class TypeMayBeWeakenedInspection extends AbstractBaseJavaLocalInspectionTool { @@ -345,10 +341,11 @@ public class TypeMayBeWeakenedInspection extends AbstractBaseJavaLocalInspection final PsiElement replacement; if (isInferredType) { PsiTypeElement newTypeElement = factory.createTypeElement(classType); - replacement = typeElement.replace(newTypeElement); - } else { + replacement = new CommentTracker().replaceAndRestoreComments(typeElement, newTypeElement); + } + else { final PsiJavaCodeReferenceElement referenceElement = factory.createReferenceElementByType(classType); - replacement = componentReferenceElement.replace(referenceElement); + replacement = new CommentTracker().replaceAndRestoreComments(componentReferenceElement, referenceElement); } final JavaCodeStyleManager javaCodeStyleManager = JavaCodeStyleManager.getInstance(project); javaCodeStyleManager.shortenClassReferences(replacement); diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/abstraction/type_may_be_weakened/Generic.after.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/abstraction/type_may_be_weakened/Generic.after.java index 5a12936b9342..fae4ba51c95a 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igfixes/abstraction/type_may_be_weakened/Generic.after.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/abstraction/type_may_be_weakened/Generic.after.java @@ -14,7 +14,8 @@ class A extends B {} class Main { public static void main(String[] args) { - C nonGeneric = new A<>(); + //comment + C nonGeneric = new A<>(); nonGeneric.foo(); } } \ No newline at end of file diff --git a/plugins/InspectionGadgets/test/com/siyeh/igfixes/abstraction/type_may_be_weakened/Generic.java b/plugins/InspectionGadgets/test/com/siyeh/igfixes/abstraction/type_may_be_weakened/Generic.java index 65222f20ec3f..b9b0f60331b3 100644 --- a/plugins/InspectionGadgets/test/com/siyeh/igfixes/abstraction/type_may_be_weakened/Generic.java +++ b/plugins/InspectionGadgets/test/com/siyeh/igfixes/abstraction/type_may_be_weakened/Generic.java @@ -14,7 +14,8 @@ class A extends B {} class Main { public static void main(String[] args) { - A nonGeneric = new A<>(); + A nonGeneric = new A<>(); nonGeneric.foo(); } } \ No newline at end of file