From fe1374be846ba7d404b3a03c40a7b815d579d208 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Mon, 6 Jul 2015 14:36:43 +0200 Subject: [PATCH] IG: cleanup quick fix --- .../ConstantValueVariableUseInspection.java | 31 ++++++++----------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/dataflow/ConstantValueVariableUseInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/dataflow/ConstantValueVariableUseInspection.java index 3cd34b132ff5..17a7c31f4e27 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/dataflow/ConstantValueVariableUseInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/dataflow/ConstantValueVariableUseInspection.java @@ -1,5 +1,5 @@ /* - * Copyright 2008-2009 Bas Leijdekkers + * Copyright 2008-2015 Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,11 +20,11 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.PsiUtil; -import com.intellij.util.IncorrectOperationException; import com.siyeh.InspectionGadgetsBundle; import com.siyeh.ig.BaseInspection; import com.siyeh.ig.BaseInspectionVisitor; import com.siyeh.ig.InspectionGadgetsFix; +import com.siyeh.ig.PsiReplacementUtil; import com.siyeh.ig.psiutils.ExpressionUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -48,18 +48,14 @@ public class ConstantValueVariableUseInspection extends BaseInspection { @Override protected InspectionGadgetsFix buildFix(Object... infos) { final PsiExpression expression = (PsiExpression)infos[0]; - return new ReplaceReferenceWithExpressionFix(expression); + return new ReplaceReferenceWithExpressionFix(expression.getText()); } - private static class ReplaceReferenceWithExpressionFix - extends InspectionGadgetsFix { - private final SmartPsiElementPointer expression; + private static class ReplaceReferenceWithExpressionFix extends InspectionGadgetsFix { private final String myText; - ReplaceReferenceWithExpressionFix( - PsiExpression expression) { - this.expression = SmartPointerManager.getInstance(expression.getProject()).createSmartPsiElementPointer(expression); - myText = expression.getText(); + ReplaceReferenceWithExpressionFix(String text) { + myText = text; } @@ -78,13 +74,13 @@ public class ConstantValueVariableUseInspection extends BaseInspection { } @Override - protected void doFix(Project project, ProblemDescriptor descriptor) - throws IncorrectOperationException { + protected void doFix(Project project, ProblemDescriptor descriptor) { final PsiElement element = descriptor.getPsiElement(); - - PsiExpression exp = expression.getElement(); - if (exp == null) return; - element.replace(exp); + if (!(element instanceof PsiExpression)) { + return; + } + final PsiExpression expression = (PsiExpression)element; + PsiReplacementUtil.replaceExpression(expression, myText); } } @@ -220,8 +216,7 @@ public class ConstantValueVariableUseInspection extends BaseInspection { super.visitAssignmentExpression(assignment); final PsiExpression lhs = assignment.getLExpression(); if (lhs instanceof PsiReferenceExpression) { - PsiReferenceExpression referenceExpression = - (PsiReferenceExpression)lhs; + final PsiReferenceExpression referenceExpression = (PsiReferenceExpression)lhs; final PsiElement target = referenceExpression.resolve(); if (variable.equals(target)) { written = true;