mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
java intentions 1: make files writable outside write action
This commit is contained in:
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInspection.LocalQuickFixAndIntentionActionOnPsiElement;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -60,7 +59,6 @@ public class AddAnnotationAttributeNameFix extends LocalQuickFixAndIntentionActi
|
||||
@Nullable("is null when called from inspection") Editor editor,
|
||||
@NotNull PsiElement startElement,
|
||||
@NotNull PsiElement endElement) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
doFix((PsiNameValuePair)startElement, myName);
|
||||
}
|
||||
|
||||
|
||||
-4
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.ExceptionUtil;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.generation.surroundWith.SurroundWithUtil;
|
||||
import com.intellij.codeInsight.intention.impl.BaseIntentionAction;
|
||||
@@ -46,11 +45,8 @@ public class AddExceptionToCatchFix extends BaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
int offset = editor.getCaretModel().getOffset();
|
||||
|
||||
PsiDocumentManager.getInstance(project).commitAllDocuments();
|
||||
|
||||
PsiElement element = findElement(file, offset);
|
||||
if (element == null) return;
|
||||
|
||||
|
||||
+3
-14
@@ -15,22 +15,17 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiMethod;
|
||||
import com.intellij.psi.PsiModifier;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class AddMethodBodyFix implements IntentionAction {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.daemon.impl.quickfix.AddMethodBodyFix");
|
||||
|
||||
private final PsiMethod myMethod;
|
||||
|
||||
public AddMethodBodyFix(@NotNull PsiMethod method) {
|
||||
@@ -59,15 +54,9 @@ public class AddMethodBodyFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myMethod.getContainingFile())) return;
|
||||
|
||||
try {
|
||||
PsiUtil.setModifierProperty(myMethod, PsiModifier.ABSTRACT, false);
|
||||
CreateFromUsageUtils.setupMethodBody(myMethod);
|
||||
CreateFromUsageUtils.setupEditor(myMethod, editor);
|
||||
} catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
PsiUtil.setModifierProperty(myMethod, PsiModifier.ABSTRACT, false);
|
||||
CreateFromUsageUtils.setupMethodBody(myMethod);
|
||||
CreateFromUsageUtils.setupEditor(myMethod, editor);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.generation.GenerateMembersUtil;
|
||||
import com.intellij.codeInspection.LocalQuickFixAndIntentionActionOnPsiElement;
|
||||
@@ -111,7 +110,6 @@ public class AddMethodFix extends LocalQuickFixAndIntentionActionOnPsiElement {
|
||||
@NotNull PsiElement startElement,
|
||||
@NotNull PsiElement endElement) {
|
||||
final PsiClass myClass = (PsiClass)startElement;
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myClass.getContainingFile())) return;
|
||||
PsiCodeBlock body;
|
||||
if (myClass.isInterface() && (body = myMethodPrototype.getBody()) != null) body.delete();
|
||||
for (String exception : myExceptions) {
|
||||
|
||||
+4
-7
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInsight.template.TemplateBuilderImpl;
|
||||
@@ -33,6 +32,7 @@ import gnu.trove.TObjectIntHashMap;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
|
||||
@@ -81,11 +81,8 @@ public class AddMissingRequiredAnnotationParametersFix implements IntentionActio
|
||||
final PsiNameValuePair[] addedParameters = myAnnotation.getParameterList().getAttributes();
|
||||
|
||||
final TObjectIntHashMap<String> annotationsOrderMap = getAnnotationsOrderMap();
|
||||
final SortedSet<Pair<String, PsiAnnotationMemberValue>>
|
||||
newParameters = new TreeSet<>(
|
||||
(o1, o2) -> annotationsOrderMap.get(o1.getFirst()) - annotationsOrderMap.get(o2.getFirst()));
|
||||
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
final SortedSet<Pair<String, PsiAnnotationMemberValue>> newParameters =
|
||||
new TreeSet<>(Comparator.comparingInt(o -> annotationsOrderMap.get(o.getFirst())));
|
||||
|
||||
final boolean order = isAlreadyAddedOrdered(annotationsOrderMap, addedParameters);
|
||||
if (order) {
|
||||
@@ -106,7 +103,7 @@ public class AddMissingRequiredAnnotationParametersFix implements IntentionActio
|
||||
|
||||
final PsiExpression nullValue = JavaPsiFacade.getElementFactory(project).createExpressionFromText(PsiKeyword.NULL, null);
|
||||
for (final String misssedParameter : myMissedElements) {
|
||||
newParameters.add(Pair.<String, PsiAnnotationMemberValue>create(misssedParameter, nullValue));
|
||||
newParameters.add(Pair.create(misssedParameter, nullValue));
|
||||
}
|
||||
|
||||
TemplateBuilderImpl builder = null;
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -59,7 +58,6 @@ public class AddNewArrayExpressionFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementsForWrite(myInitializer, file)) return;
|
||||
PsiManager manager = file.getManager();
|
||||
PsiType type = getType();
|
||||
PsiElementFactory factory = JavaPsiFacade.getInstance(manager.getProject()).getElementFactory();
|
||||
|
||||
@@ -15,15 +15,12 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.PsiTypesUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -31,7 +28,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AddReturnFix implements IntentionAction {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.daemon.impl.quickfix.AddReturnFix");
|
||||
private final PsiMethod myMethod;
|
||||
|
||||
public AddReturnFix(@NotNull PsiMethod method) {
|
||||
@@ -61,20 +57,13 @@ public class AddReturnFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myMethod.getContainingFile())) return;
|
||||
String value = suggestReturnValue();
|
||||
PsiElementFactory factory = JavaPsiFacade.getInstance(myMethod.getProject()).getElementFactory();
|
||||
PsiReturnStatement returnStatement = (PsiReturnStatement) factory.createStatementFromText("return " + value+";", myMethod);
|
||||
PsiCodeBlock body = myMethod.getBody();
|
||||
returnStatement = (PsiReturnStatement) body.addBefore(returnStatement, body.getRBrace());
|
||||
|
||||
try {
|
||||
String value = suggestReturnValue();
|
||||
PsiElementFactory factory = JavaPsiFacade.getInstance(myMethod.getProject()).getElementFactory();
|
||||
PsiReturnStatement returnStatement = (PsiReturnStatement) factory.createStatementFromText("return " + value+";", myMethod);
|
||||
PsiCodeBlock body = myMethod.getBody();
|
||||
returnStatement = (PsiReturnStatement) body.addBefore(returnStatement, body.getRBrace());
|
||||
|
||||
MethodReturnTypeFix.selectReturnValueInEditor(returnStatement, editor);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
MethodReturnTypeFix.selectReturnValueInEditor(returnStatement, editor);
|
||||
}
|
||||
|
||||
private String suggestReturnValue() {
|
||||
|
||||
-15
@@ -16,40 +16,26 @@
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.completion.JavaInheritorsGetter;
|
||||
import com.intellij.codeInsight.completion.PrefixMatcher;
|
||||
import com.intellij.codeInsight.completion.StatisticsWeigher;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInsight.lookup.ExpressionLookupItem;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.PsiTypeLookupItem;
|
||||
import com.intellij.codeInsight.template.*;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.CaretModel;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.filters.getters.JavaMembersGetter;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiTypesUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.Consumer;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.SmartList;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
import static com.intellij.util.containers.ContainerUtil.map;
|
||||
import static com.intellij.util.containers.ContainerUtil.sorted;
|
||||
|
||||
public class AddVariableInitializerFix implements IntentionAction {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.daemon.impl.quickfix.AddReturnFix");
|
||||
private final PsiVariable myVariable;
|
||||
@@ -81,7 +67,6 @@ public class AddVariableInitializerFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myVariable.getContainingFile())) return;
|
||||
final LookupElement[] suggestedInitializers = suggestInitializer(myVariable);
|
||||
LOG.assertTrue(suggestedInitializers.length > 0);
|
||||
LOG.assertTrue(suggestedInitializers[0] instanceof ExpressionLookupItem);
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.DaemonCodeAnalyzer;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.HighlightControlFlowUtil;
|
||||
@@ -98,7 +97,6 @@ public class BringVariableIntoScopeFix implements IntentionAction {
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiFile file) throws IncorrectOperationException {
|
||||
LOG.assertTrue(myOutOfScopeVariable != null);
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
PsiManager manager = file.getManager();
|
||||
myOutOfScopeVariable.normalizeDeclaration();
|
||||
PsiUtil.setModifierProperty(myOutOfScopeVariable, PsiModifier.FINAL, false);
|
||||
|
||||
-2
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInspection.util.ChangeToAppendUtil;
|
||||
@@ -74,7 +73,6 @@ public class ChangeToAppendFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
final PsiExpression appendExpression =
|
||||
ChangeToAppendUtil.buildAppendExpression(myAssignmentExpression.getLExpression(), myAssignmentExpression.getRExpression());
|
||||
if (appendExpression == null) return;
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -227,7 +226,6 @@ public class ConvertSwitchToIfIntention implements IntentionAction {
|
||||
firstBranch, ifStatementText);
|
||||
}
|
||||
if (ifStatementText.length() == 0) return;
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(switchStatement)) return;
|
||||
final JavaPsiFacade psiFacade = JavaPsiFacade.getInstance(project);
|
||||
final PsiElementFactory factory = psiFacade.getElementFactory();
|
||||
if (hadSideEffects) {
|
||||
|
||||
-3
@@ -17,7 +17,6 @@ package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.CodeInsightUtilCore;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
@@ -46,8 +45,6 @@ public class CreateCastExpressionFromInstanceofAction extends CreateLocalVarFrom
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull final Project project, final Editor editor, final PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
|
||||
PsiInstanceOfExpression instanceOfExpression = getInstanceOfExpressionAtCaret(editor, file);
|
||||
assert instanceOfExpression.getContainingFile() == file : instanceOfExpression.getContainingFile() + "; file="+file;
|
||||
PsiElement decl = createAndInsertCast(instanceOfExpression, editor, file);
|
||||
|
||||
-3
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightUtilCore;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.PsiEquivalenceUtil;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.impl.BaseIntentionAction;
|
||||
@@ -197,8 +196,6 @@ public class CreateLocalVarFromInstanceofAction extends BaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull final Project project, final Editor editor, final PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
|
||||
PsiInstanceOfExpression instanceOfExpression = getInstanceOfExpressionAtCaret(editor, file);
|
||||
assert instanceOfExpression.getContainingFile() == file : instanceOfExpression.getContainingFile() + "; file="+file;
|
||||
try {
|
||||
|
||||
+1
-9
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.ExpectedTypeInfo;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInspection.LocalQuickFixAndIntentionActionOnPsiElement;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -26,7 +25,6 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.psi.util.PsiFormatUtil;
|
||||
import com.intellij.psi.util.PsiFormatUtilBase;
|
||||
import com.intellij.util.Function;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
@@ -72,16 +70,10 @@ public class CreateMethodQuickFix extends LocalQuickFixAndIntentionActionOnPsiEl
|
||||
@NotNull PsiElement startElement,
|
||||
@NotNull PsiElement endElement) {
|
||||
PsiClass myTargetClass = (PsiClass)startElement;
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(myTargetClass.getContainingFile())) return;
|
||||
|
||||
PsiMethod method = createMethod(myTargetClass);
|
||||
List<Pair<PsiExpression, PsiType>> arguments =
|
||||
ContainerUtil.map2List(method.getParameterList().getParameters(), new Function<PsiParameter, Pair<PsiExpression, PsiType>>() {
|
||||
@Override
|
||||
public Pair<PsiExpression, PsiType> fun(PsiParameter psiParameter) {
|
||||
return Pair.create(null, psiParameter.getType());
|
||||
}
|
||||
});
|
||||
ContainerUtil.map2List(method.getParameterList().getParameters(), psiParameter -> Pair.create(null, psiParameter.getType()));
|
||||
|
||||
method = (PsiMethod)JavaCodeStyleManager.getInstance(project).shortenClassReferences(myTargetClass.add(method));
|
||||
CreateMethodFromUsageFix.doCreate(myTargetClass, method, arguments, PsiSubstitutor.EMPTY, ExpectedTypeInfo.EMPTY_ARRAY, method);
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.JavaHighlightUtil;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
@@ -50,8 +49,6 @@ public class DeleteCatchFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myCatchParameter.getContainingFile())) return;
|
||||
|
||||
final PsiTryStatement tryStatement = ((PsiCatchSection)myCatchParameter.getDeclarationScope()).getTryStatement();
|
||||
if (tryStatement.getCatchBlocks().length == 1 && tryStatement.getFinallyBlock() == null && tryStatement.getResourceList() == null) {
|
||||
// unwrap entire try statement
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -55,7 +54,6 @@ public class DeleteMethodBodyFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(myMethod)) return;
|
||||
final PsiCodeBlock body = myMethod.getBody();
|
||||
assert body != null;
|
||||
body.delete();
|
||||
|
||||
-3
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.JavaHighlightUtil;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
@@ -55,8 +54,6 @@ public class DeleteMultiCatchFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull final Project project, final Editor editor, final PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myTypeElement.getContainingFile())) return;
|
||||
|
||||
final PsiElement parentType = myTypeElement.getParent();
|
||||
if (!(parentType instanceof PsiTypeElement)) return;
|
||||
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.JavaHighlightUtil;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
@@ -81,7 +80,6 @@ public class GeneralizeCatchFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myElement.getContainingFile())) return;
|
||||
PsiElementFactory factory = JavaPsiFacade.getInstance(myElement.getProject()).getElementFactory();
|
||||
PsiTypeElement type = factory.createTypeElement(myUnhandledException);
|
||||
myCatchParameter.getTypeElement().replace(type);
|
||||
|
||||
+1
-3
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.generation.OverrideImplementUtil;
|
||||
import com.intellij.codeInsight.generation.PsiMethodMember;
|
||||
import com.intellij.ide.util.MemberChooser;
|
||||
@@ -73,8 +72,7 @@ public class ImplementAbstractClassMethodsFix extends ImplementMethodsFix {
|
||||
@Nullable("is null when called from inspection") final Editor editor,
|
||||
@NotNull final PsiElement startElement,
|
||||
@NotNull PsiElement endElement) {
|
||||
final PsiFile containingFile = startElement.getContainingFile();
|
||||
if (editor == null || !FileModificationService.getInstance().prepareFileForWrite(containingFile)) return;
|
||||
if (editor == null) return;
|
||||
PsiJavaCodeReferenceElement classReference = ((PsiNewExpression)startElement).getClassReference();
|
||||
if (classReference == null) return;
|
||||
final PsiClass psiClass = (PsiClass)classReference.resolve();
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -53,7 +52,6 @@ public class InsertNewFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myMethodCall.getContainingFile())) return;
|
||||
PsiElementFactory factory = JavaPsiFacade.getInstance(myMethodCall.getProject()).getElementFactory();
|
||||
PsiNewExpression newExpression = (PsiNewExpression)factory.createExpressionFromText("new X()",null);
|
||||
|
||||
|
||||
+14
-25
@@ -15,23 +15,18 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.HighPriorityAction;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.command.undo.UndoUtil;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.PsiMatcherImpl;
|
||||
import com.intellij.psi.util.PsiMatchers;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class InsertSuperFix implements IntentionAction, HighPriorityAction {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.daemon.impl.quickfix.InsertSuperFix");
|
||||
|
||||
private final PsiMethod myConstructor;
|
||||
|
||||
public InsertSuperFix(@NotNull PsiMethod constructor) {
|
||||
@@ -61,27 +56,21 @@ public class InsertSuperFix implements IntentionAction, HighPriorityAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myConstructor.getContainingFile())) return;
|
||||
try {
|
||||
PsiStatement superCall =
|
||||
JavaPsiFacade.getInstance(myConstructor.getProject()).getElementFactory().createStatementFromText("super();",null);
|
||||
PsiStatement superCall =
|
||||
JavaPsiFacade.getInstance(myConstructor.getProject()).getElementFactory().createStatementFromText("super();",null);
|
||||
|
||||
PsiCodeBlock body = myConstructor.getBody();
|
||||
PsiJavaToken lBrace = body.getLBrace();
|
||||
body.addAfter(superCall, lBrace);
|
||||
lBrace = (PsiJavaToken) new PsiMatcherImpl(body)
|
||||
.firstChild(PsiMatchers.hasClass(PsiExpressionStatement.class))
|
||||
.firstChild(PsiMatchers.hasClass(PsiMethodCallExpression.class))
|
||||
.firstChild(PsiMatchers.hasClass(PsiExpressionList.class))
|
||||
.firstChild(PsiMatchers.hasClass(PsiJavaToken.class))
|
||||
.dot(PsiMatchers.hasText("("))
|
||||
.getElement();
|
||||
editor.getCaretModel().moveToOffset(lBrace.getTextOffset()+1);
|
||||
UndoUtil.markPsiFileForUndo(file);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
PsiCodeBlock body = myConstructor.getBody();
|
||||
PsiJavaToken lBrace = body.getLBrace();
|
||||
body.addAfter(superCall, lBrace);
|
||||
lBrace = (PsiJavaToken) new PsiMatcherImpl(body)
|
||||
.firstChild(PsiMatchers.hasClass(PsiExpressionStatement.class))
|
||||
.firstChild(PsiMatchers.hasClass(PsiMethodCallExpression.class))
|
||||
.firstChild(PsiMatchers.hasClass(PsiExpressionList.class))
|
||||
.firstChild(PsiMatchers.hasClass(PsiJavaToken.class))
|
||||
.dot(PsiMatchers.hasText("("))
|
||||
.getElement();
|
||||
editor.getCaretModel().moveToOffset(lBrace.getTextOffset()+1);
|
||||
UndoUtil.markPsiFileForUndo(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInspection.LocalQuickFixAndIntentionActionOnPsiElement;
|
||||
import com.intellij.openapi.command.undo.UndoUtil;
|
||||
@@ -69,7 +68,6 @@ public class MakeClassInterfaceFix extends LocalQuickFixAndIntentionActionOnPsiE
|
||||
@NotNull PsiElement startElement,
|
||||
@NotNull PsiElement endElement) {
|
||||
final PsiClass myClass = (PsiClass)startElement;
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(myClass)) return;
|
||||
try {
|
||||
final PsiReferenceList extendsList = myMakeInterface? myClass.getExtendsList() : myClass.getImplementsList();
|
||||
final PsiReferenceList implementsList = myMakeInterface? myClass.getImplementsList() : myClass.getExtendsList();
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -54,7 +53,6 @@ public class MakeMethodConstructorFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(myMethod)) return;
|
||||
myMethod.getReturnTypeElement().delete();
|
||||
}
|
||||
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -54,7 +53,6 @@ public class MakeVarargParameterLastFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(myParameter)) return;
|
||||
myParameter.getParent().add(myParameter);
|
||||
myParameter.delete();
|
||||
}
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.HighlightUtil;
|
||||
import com.intellij.openapi.command.undo.UndoUtil;
|
||||
@@ -57,7 +56,6 @@ public class MoveBoundClassToFrontFix extends ExtendsListFix {
|
||||
@NotNull PsiElement startElement,
|
||||
@NotNull PsiElement endElement) {
|
||||
final PsiClass myClass = (PsiClass)startElement;
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myClass.getContainingFile())) return;
|
||||
PsiReferenceList extendsList = myClass.getExtendsList();
|
||||
if (extendsList == null) return;
|
||||
try {
|
||||
|
||||
+3
-14
@@ -15,23 +15,18 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.JavaHighlightUtil;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiCatchSection;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiTryStatement;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class MoveCatchUpFix implements IntentionAction {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.daemon.impl.quickfix.DeleteCatchFix");
|
||||
|
||||
private final PsiCatchSection myCatchSection;
|
||||
private final PsiCatchSection myMoveBeforeSection;
|
||||
|
||||
@@ -70,15 +65,9 @@ public class MoveCatchUpFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myCatchSection.getContainingFile())) return;
|
||||
try {
|
||||
PsiTryStatement statement = myCatchSection.getTryStatement();
|
||||
statement.addBefore(myCatchSection, myMoveBeforeSection);
|
||||
myCatchSection.delete();
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
PsiTryStatement statement = myCatchSection.getTryStatement();
|
||||
statement.addBefore(myCatchSection, myMoveBeforeSection);
|
||||
myCatchSection.delete();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+7
-15
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -70,22 +69,15 @@ public class MoveClassToSeparateFileFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, @Nullable Editor editor, @NotNull PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myClass.getContainingFile())) return;
|
||||
|
||||
PsiDirectory dir = file.getContainingDirectory();
|
||||
try{
|
||||
String name = myClass.getName();
|
||||
JavaDirectoryService directoryService = JavaDirectoryService.getInstance();
|
||||
PsiClass placeHolder = myClass.isInterface() ? directoryService.createInterface(dir, name) : directoryService.createClass(dir, name);
|
||||
PsiClass newClass = (PsiClass)placeHolder.replace(myClass);
|
||||
myClass.delete();
|
||||
String name = myClass.getName();
|
||||
JavaDirectoryService directoryService = JavaDirectoryService.getInstance();
|
||||
PsiClass placeHolder = myClass.isInterface() ? directoryService.createInterface(dir, name) : directoryService.createClass(dir, name);
|
||||
PsiClass newClass = (PsiClass)placeHolder.replace(myClass);
|
||||
myClass.delete();
|
||||
|
||||
OpenFileDescriptor descriptor = new OpenFileDescriptor(project, newClass.getContainingFile().getVirtualFile(), newClass.getTextOffset());
|
||||
FileEditorManager.getInstance(project).openTextEditor(descriptor, true);
|
||||
}
|
||||
catch(IncorrectOperationException e){
|
||||
LOG.error(e);
|
||||
}
|
||||
OpenFileDescriptor descriptor = new OpenFileDescriptor(project, newClass.getContainingFile().getVirtualFile(), newClass.getTextOffset());
|
||||
FileEditorManager.getInstance(project).openTextEditor(descriptor, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+1
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -84,7 +83,7 @@ public class NegationBroadScopeFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!isAvailable(project, editor, file) || !FileModificationService.getInstance().preparePsiElementForWrite(myPrefixExpression)) return;
|
||||
if (!isAvailable(project, editor, file)) return;
|
||||
PsiExpression operand = myPrefixExpression.getOperand();
|
||||
PsiElement unnegated = myPrefixExpression.replace(operand);
|
||||
PsiElement parent = unnegated.getParent();
|
||||
|
||||
+1
-9
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -24,7 +23,6 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiJavaFile;
|
||||
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class OptimizeImportsFix implements IntentionAction{
|
||||
@@ -50,14 +48,8 @@ public class OptimizeImportsFix implements IntentionAction{
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
if (!(file instanceof PsiJavaFile)) return;
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
|
||||
try{
|
||||
JavaCodeStyleManager.getInstance(project).optimizeImports(file);
|
||||
}
|
||||
catch(IncorrectOperationException e){
|
||||
LOG.error(e);
|
||||
}
|
||||
JavaCodeStyleManager.getInstance(project).optimizeImports(file);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -63,7 +62,6 @@ public class RemoveNewQualifierFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(expression.getContainingFile())) return;
|
||||
PsiJavaCodeReferenceElement classReference = expression.getClassReference();
|
||||
expression.getQualifier().delete();
|
||||
if (aClass != null && classReference != null) {
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -52,7 +51,6 @@ public class RemoveParameterListFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
final PsiMethod emptyMethod = JavaPsiFacade.getElementFactory(project).createMethodFromText("void foo(){}", myMethod);
|
||||
myMethod.getParameterList().replace(emptyMethod.getParameterList());
|
||||
}
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -64,7 +63,6 @@ public class RemoveQualifierFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
myQualifier.delete();
|
||||
myExpression.bindToElement(myResolved);
|
||||
}
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -92,7 +91,6 @@ public class RemoveRedundantElseAction extends PsiElementBaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
PsiIfStatement ifStatement = (PsiIfStatement)element.getParent();
|
||||
LOG.assertTrue(ifStatement != null && ifStatement.getElseBranch() != null);
|
||||
PsiStatement elseBranch = ifStatement.getElseBranch();
|
||||
|
||||
+1
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.HighPriorityAction;
|
||||
import com.intellij.codeInspection.LocalQuickFixAndIntentionActionOnPsiElement;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
@@ -68,7 +67,7 @@ public class RemoveTypeArgumentsFix extends LocalQuickFixAndIntentionActionOnPsi
|
||||
final PsiJavaCodeReferenceElement referenceElement = typeElement.getInnermostComponentReferenceElement();
|
||||
if (referenceElement != null) {
|
||||
final PsiReferenceParameterList parameterList = referenceElement.getParameterList();
|
||||
if (parameterList != null && FileModificationService.getInstance().preparePsiElementForWrite(parameterList)) {
|
||||
if (parameterList != null) {
|
||||
parameterList.delete();
|
||||
}
|
||||
}
|
||||
|
||||
-2
@@ -24,7 +24,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
@@ -147,7 +146,6 @@ public class RenameWrongRefFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, final Editor editor, PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
PsiReferenceExpression[] refs = CreateFromUsageUtils.collectExpressions(myRefExpr, PsiMember.class, PsiFile.class);
|
||||
PsiElement element = PsiTreeUtil.getParentOfType(myRefExpr, PsiMember.class, PsiFile.class);
|
||||
LookupElement[] items = collectItems();
|
||||
|
||||
-2
@@ -20,7 +20,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -95,7 +94,6 @@ public class ReplaceAddAllArrayToCollectionFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull final Project project, final Editor editor, final PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
final PsiElementFactory elementFactory = JavaPsiFacade.getInstance(project).getElementFactory();
|
||||
final PsiExpression toReplace = elementFactory.createExpressionFromText(getCollectionsMethodCall(), myMethodCall);
|
||||
JavaCodeStyleManager.getInstance(project).shortenClassReferences(myMethodCall.replace(toReplace));
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInspection.LocalQuickFixAndIntentionActionOnPsiElement;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -42,7 +41,6 @@ public class ReplaceInaccessibleFieldWithGetterSetterFix extends LocalQuickFixAn
|
||||
@NotNull PsiElement startElement,
|
||||
@NotNull PsiElement endElement) {
|
||||
PsiReferenceExpression place = (PsiReferenceExpression)startElement;
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(place)) return;
|
||||
String qualifier = null;
|
||||
final PsiExpression qualifierExpression = place.getQualifierExpression();
|
||||
if (qualifierExpression != null) {
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -64,7 +63,6 @@ public class ReplaceIteratorForEachLoopWithIteratorForLoopFix implements Intenti
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
final PsiExpression iteratedValue = myStatement.getIteratedValue();
|
||||
if (iteratedValue == null) {
|
||||
return;
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInspection.LocalQuickFixAndIntentionActionOnPsiElement;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -86,7 +85,6 @@ public class ReplacePrimitiveWithBoxedTypeAction extends LocalQuickFixAndIntenti
|
||||
: PsiWildcardType.createSuper(startElement.getManager(), boxedBound);
|
||||
}
|
||||
LOG.assertTrue(boxedType != null);
|
||||
if(!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
startElement.replace(JavaPsiFacade.getElementFactory(project).createTypeElement(boxedType));
|
||||
}
|
||||
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -86,7 +85,6 @@ public class ReplaceWithListAccessFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
final PsiExpression arrayExpression = myArrayAccessExpression.getArrayExpression();
|
||||
final PsiExpression indexExpression = myArrayAccessExpression.getIndexExpression();
|
||||
|
||||
|
||||
-3
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightUtil;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -68,8 +67,6 @@ public class ReuseVariableDeclarationFix implements IntentionAction {
|
||||
final PsiVariable refVariable = findPreviousVariable();
|
||||
if (refVariable == null) return;
|
||||
|
||||
if (!CodeInsightUtil.preparePsiElementsForWrite(myVariable, refVariable)) return;
|
||||
|
||||
final PsiExpression initializer = myVariable.getInitializer();
|
||||
if (initializer == null) {
|
||||
myVariable.delete();
|
||||
|
||||
-2
@@ -20,7 +20,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.TargetElementUtil;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -119,7 +118,6 @@ public class SurroundWithArrayFix extends PsiElementBaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
final PsiElementFactory elementFactory = JavaPsiFacade.getInstance(project).getElementFactory();
|
||||
final PsiExpression expression = getExpression(element);
|
||||
assert expression != null;
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -47,7 +46,6 @@ public class SurroundWithQuotesAnnotationParameterValueFix implements IntentionA
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
String newText = myValue.getText();
|
||||
newText = StringUtil.stripQuotesAroundValue(newText);
|
||||
newText = "\"" + newText + "\"";
|
||||
|
||||
-3
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.generation.surroundWith.JavaWithTryCatchSurrounder;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
@@ -73,8 +72,6 @@ public class SurroundWithTryCatchFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
|
||||
int col = editor.getCaretModel().getLogicalPosition().column;
|
||||
int line = editor.getCaretModel().getLogicalPosition().line;
|
||||
editor.getCaretModel().moveToLogicalPosition(new LogicalPosition(0, 0));
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.daemon.impl.quickfix;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.QuickFixBundle;
|
||||
import com.intellij.codeInsight.daemon.impl.HighlightInfo;
|
||||
import com.intellij.codeInsight.daemon.impl.analysis.HighlightControlFlowUtil;
|
||||
@@ -102,7 +101,6 @@ public class VariableAccessFromInnerClassFix implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
if (!FileModificationService.getInstance().preparePsiElementsForWrite(myContext, myVariable)) return;
|
||||
try {
|
||||
switch (myFixType) {
|
||||
case MAKE_FINAL:
|
||||
|
||||
@@ -94,7 +94,6 @@ public class VariableTypeFix extends LocalQuickFixAndIntentionActionOnPsiElement
|
||||
@NotNull PsiElement endElement) {
|
||||
final PsiVariable myVariable = (PsiVariable)startElement;
|
||||
if (changeMethodSignatureIfNeeded(myVariable)) return;
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myVariable.getContainingFile())) return;
|
||||
new WriteCommandAction.Simple(project, getText(), file) {
|
||||
|
||||
@Override
|
||||
|
||||
+2
-10
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -63,16 +62,9 @@ public class AssignFieldFromParameterAction extends BaseIntentionAction {
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) {
|
||||
final PsiParameter myParameter = FieldFromParameterUtils.findParameterAtCursor(file, editor);
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(myParameter.getContainingFile())) return;
|
||||
|
||||
IdeDocumentHistory.getInstance(project).includeCurrentPlaceAsChangePlace();
|
||||
try {
|
||||
PsiField field = findFieldToAssign(project, myParameter);
|
||||
if (field != null) addFieldAssignmentStatement(project, field, myParameter, editor);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
PsiField field = findFieldToAssign(project, myParameter);
|
||||
if (field != null) addFieldAssignmentStatement(project, field, myParameter, editor);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
-3
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.impl.quickfix.CreateFromUsageUtils;
|
||||
import com.intellij.codeInsight.highlighting.HighlightManager;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
@@ -70,8 +69,6 @@ public abstract class BaseMoveInitializerToMethodAction extends PsiElementBaseIn
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
|
||||
final PsiField field = PsiTreeUtil.getParentOfType(element, PsiField.class);
|
||||
assert field != null;
|
||||
final PsiClass aClass = field.getContainingClass();
|
||||
|
||||
-2
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -78,7 +77,6 @@ public class BreakStringOnLineBreaksIntentionAction extends PsiElementBaseIntent
|
||||
return;
|
||||
}
|
||||
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
final PsiElementFactory factory = JavaPsiFacade.getElementFactory(project);
|
||||
token.replace(factory.createExpressionFromText(breakOnLineBreaks(text), element));
|
||||
}
|
||||
|
||||
-2
@@ -17,7 +17,6 @@ package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.AnnotationUtil;
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -53,7 +52,6 @@ public class ConcatenationToMessageFormatAction implements IntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
final PsiElement element = findElementAtCaret(editor, file);
|
||||
PsiPolyadicExpression concatenation = getEnclosingLiteralConcatenation(element);
|
||||
if (concatenation == null) return;
|
||||
|
||||
-3
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -67,8 +66,6 @@ public class ConvertAbsolutePathToRelativeIntentionAction extends BaseIntentionA
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
|
||||
final PsiReference reference = file.findReferenceAt(editor.getCaretModel().getOffset());
|
||||
final FileReference fileReference = reference == null ? null : FileReference.findFileReference(reference);
|
||||
if (fileReference != null) {
|
||||
|
||||
-3
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
@@ -65,8 +64,6 @@ public class ConvertColorRepresentationIntentionAction extends BaseColorIntentio
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
|
||||
final PsiNewExpression expression = PsiTreeUtil.getParentOfType(element, PsiNewExpression.class, false);
|
||||
if (expression == null) {
|
||||
return;
|
||||
|
||||
-4
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.BaseElementAtCaretIntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -35,9 +34,6 @@ public class ConvertCompareToToEqualsIntention extends BaseElementAtCaretIntenti
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementsForWrite(element)) {
|
||||
return;
|
||||
}
|
||||
final CompareToResult compareToResult = CompareToResult.findCompareTo(element);
|
||||
assert compareToResult != null;
|
||||
final PsiExpression qualifier = compareToResult.getQualifier();
|
||||
|
||||
-2
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.javaee.ExternalResourceManager;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
@@ -77,7 +76,6 @@ public class ConvertToBasicLatinAction extends PsiElementBaseIntentionAction {
|
||||
if (pair == null) return;
|
||||
final PsiElement workElement = pair.first;
|
||||
final Handler handler = pair.second;
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(workElement)) return;
|
||||
final String newText = handler.processText(workElement);
|
||||
final PsiElement newElement = handler.createReplacement(workElement, newText);
|
||||
workElement.replace(newElement);
|
||||
|
||||
@@ -15,9 +15,7 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.BaseElementAtCaretIntentionAction;
|
||||
import com.intellij.openapi.editor.Document;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.psi.*;
|
||||
@@ -36,9 +34,6 @@ public class CreateSwitchIntention extends BaseElementAtCaretIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull final Project project, final Editor editor, @NotNull final PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementsForWrite(element)) {
|
||||
return;
|
||||
}
|
||||
final PsiExpressionStatement expressionStatement = resolveExpressionStatement(element);
|
||||
final PsiElementFactory elementFactory = JavaPsiFacade.getInstance(project).getElementFactory();
|
||||
PsiSwitchStatement switchStatement = (PsiSwitchStatement)elementFactory
|
||||
|
||||
-3
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.Result;
|
||||
@@ -63,8 +62,6 @@ public class ExpandStaticImportAction extends PsiElementBaseIntentionAction {
|
||||
}
|
||||
|
||||
public void invoke(final Project project, final PsiFile file, final Editor editor, PsiElement element) {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
|
||||
final PsiJavaCodeReferenceElement refExpr = (PsiJavaCodeReferenceElement)element.getParent();
|
||||
final PsiImportStaticStatement staticImport = (PsiImportStaticStatement)refExpr.advancedResolve(true).getCurrentFileResolveScope();
|
||||
final List<PsiJavaCodeReferenceElement> expressionToExpand = collectReferencesThrough(file, refExpr, staticImport);
|
||||
|
||||
-3
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -83,8 +82,6 @@ public class ExtractIfConditionAction extends PsiElementBaseIntentionAction {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
|
||||
ifStatement.replace(codeStyleManager.reformat(newIfStatement));
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -206,8 +205,6 @@ public class InlineStreamMapAction extends PsiElementBaseIntentionAction {
|
||||
String newName = translateName(mapCall, nextCall);
|
||||
if(newName == null) return;
|
||||
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
|
||||
PsiLambdaExpression previousLambda = getLambda(mapCall);
|
||||
|
||||
LOG.assertTrue(previousLambda != null);
|
||||
|
||||
-3
@@ -17,7 +17,6 @@ package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.CodeInsightServicesUtil;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -76,8 +75,6 @@ public class InvertIfConditionAction extends PsiElementBaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
|
||||
PsiIfStatement ifStatement = PsiTreeUtil.getParentOfType(element, PsiIfStatement.class);
|
||||
|
||||
LOG.assertTrue(ifStatement != null);
|
||||
|
||||
+52
-60
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -113,75 +112,68 @@ public class MergeFilterChainAction extends PsiElementBaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
try {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
final PsiMethodCallExpression filterCall = PsiTreeUtil.getParentOfType(element, PsiMethodCallExpression.class);
|
||||
LOG.assertTrue(filterCall != null);
|
||||
|
||||
final PsiMethodCallExpression filterCall = PsiTreeUtil.getParentOfType(element, PsiMethodCallExpression.class);
|
||||
LOG.assertTrue(filterCall != null);
|
||||
final PsiMethodCallExpression filterToMerge = getFilterToMerge(filterCall);
|
||||
LOG.assertTrue(filterToMerge != null);
|
||||
|
||||
final PsiMethodCallExpression filterToMerge = getFilterToMerge(filterCall);
|
||||
LOG.assertTrue(filterToMerge != null);
|
||||
final PsiMethodCallExpression callToStay = filterCall.getTextLength() < filterToMerge.getTextLength() ? filterCall : filterToMerge;
|
||||
final PsiMethodCallExpression callToEliminate = callToStay == filterCall ? filterToMerge : filterCall;
|
||||
|
||||
final PsiMethodCallExpression callToStay = filterCall.getTextLength() < filterToMerge.getTextLength() ? filterCall : filterToMerge;
|
||||
final PsiMethodCallExpression callToEliminate = callToStay == filterCall ? filterToMerge : filterCall;
|
||||
String resultingOperation = callToEliminate.getMethodExpression().getReferenceName();
|
||||
LOG.assertTrue(resultingOperation != null);
|
||||
|
||||
String resultingOperation = callToEliminate.getMethodExpression().getReferenceName();
|
||||
LOG.assertTrue(resultingOperation != null);
|
||||
final PsiLambdaExpression targetLambda = getLambda(callToStay);
|
||||
LOG.assertTrue(targetLambda != null, callToStay);
|
||||
final PsiParameter[] parameters = targetLambda.getParameterList().getParameters();
|
||||
final String name = parameters.length > 0 ? parameters[0].getName() : null;
|
||||
|
||||
final PsiLambdaExpression targetLambda = getLambda(callToStay);
|
||||
LOG.assertTrue(targetLambda != null, callToStay);
|
||||
final PsiParameter[] parameters = targetLambda.getParameterList().getParameters();
|
||||
final String name = parameters.length > 0 ? parameters[0].getName() : null;
|
||||
|
||||
final PsiLambdaExpression sourceLambda = getLambda(callToEliminate);
|
||||
LOG.assertTrue(sourceLambda != null, callToEliminate);
|
||||
if (name != null) {
|
||||
final PsiParameter[] sourceLambdaParams = sourceLambda.getParameterList().getParameters();
|
||||
if (sourceLambdaParams.length > 0 && !name.equals(sourceLambdaParams[0].getName())) {
|
||||
for (PsiReference reference : ReferencesSearch.search(sourceLambdaParams[0]).findAll()) {
|
||||
final PsiElement referenceElement = reference.getElement();
|
||||
if (referenceElement instanceof PsiReferenceExpression) {
|
||||
((PsiReferenceExpression)referenceElement).handleElementRename(name);
|
||||
}
|
||||
final PsiLambdaExpression sourceLambda = getLambda(callToEliminate);
|
||||
LOG.assertTrue(sourceLambda != null, callToEliminate);
|
||||
if (name != null) {
|
||||
final PsiParameter[] sourceLambdaParams = sourceLambda.getParameterList().getParameters();
|
||||
if (sourceLambdaParams.length > 0 && !name.equals(sourceLambdaParams[0].getName())) {
|
||||
for (PsiReference reference : ReferencesSearch.search(sourceLambdaParams[0]).findAll()) {
|
||||
final PsiElement referenceElement = reference.getElement();
|
||||
if (referenceElement instanceof PsiReferenceExpression) {
|
||||
((PsiReferenceExpression)referenceElement).handleElementRename(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PsiElementFactory factory = JavaPsiFacade.getElementFactory(project);
|
||||
PsiElement nameElement = callToStay.getMethodExpression().getReferenceNameElement();
|
||||
LOG.assertTrue(nameElement != null);
|
||||
if(!resultingOperation.equals(nameElement.getText())) {
|
||||
nameElement.replace(factory.createIdentifier(resultingOperation));
|
||||
}
|
||||
|
||||
PsiElement targetBody = targetLambda.getBody();
|
||||
LOG.assertTrue(targetBody instanceof PsiExpression);
|
||||
final PsiElement sourceLambdaBody = sourceLambda.getBody();
|
||||
|
||||
LOG.assertTrue(sourceLambdaBody instanceof PsiExpression);
|
||||
|
||||
final PsiExpression compoundExpression = factory
|
||||
.createExpressionFromText(
|
||||
ParenthesesUtils.getText((PsiExpression)targetBody, ParenthesesUtils.OR_PRECEDENCE) + " && " +
|
||||
ParenthesesUtils.getText((PsiExpression)sourceLambdaBody, ParenthesesUtils.OR_PRECEDENCE), sourceLambda);
|
||||
targetBody = targetBody.replace(compoundExpression);
|
||||
CodeStyleManager.getInstance(project).reformat(targetBody);
|
||||
|
||||
final PsiExpression qualifierExpression = callToEliminate.getMethodExpression().getQualifierExpression();
|
||||
LOG.assertTrue(qualifierExpression != null, callToEliminate);
|
||||
final Collection<PsiComment> comments = PsiTreeUtil.findChildrenOfType(callToEliminate, PsiComment.class);
|
||||
for (PsiComment comment : comments) {
|
||||
final TextRange commentRange = comment.getTextRange();
|
||||
if (!sourceLambdaBody.getTextRange().contains(commentRange) &&
|
||||
!qualifierExpression.getTextRange().contains(commentRange)) {
|
||||
targetBody.add(comment);
|
||||
}
|
||||
}
|
||||
callToEliminate.replace(qualifierExpression);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
|
||||
PsiElementFactory factory = JavaPsiFacade.getElementFactory(project);
|
||||
PsiElement nameElement = callToStay.getMethodExpression().getReferenceNameElement();
|
||||
LOG.assertTrue(nameElement != null);
|
||||
if(!resultingOperation.equals(nameElement.getText())) {
|
||||
nameElement.replace(factory.createIdentifier(resultingOperation));
|
||||
}
|
||||
|
||||
PsiElement targetBody = targetLambda.getBody();
|
||||
LOG.assertTrue(targetBody instanceof PsiExpression);
|
||||
final PsiElement sourceLambdaBody = sourceLambda.getBody();
|
||||
|
||||
LOG.assertTrue(sourceLambdaBody instanceof PsiExpression);
|
||||
|
||||
final PsiExpression compoundExpression = factory
|
||||
.createExpressionFromText(
|
||||
ParenthesesUtils.getText((PsiExpression)targetBody, ParenthesesUtils.OR_PRECEDENCE) + " && " +
|
||||
ParenthesesUtils.getText((PsiExpression)sourceLambdaBody, ParenthesesUtils.OR_PRECEDENCE), sourceLambda);
|
||||
targetBody = targetBody.replace(compoundExpression);
|
||||
CodeStyleManager.getInstance(project).reformat(targetBody);
|
||||
|
||||
final PsiExpression qualifierExpression = callToEliminate.getMethodExpression().getQualifierExpression();
|
||||
LOG.assertTrue(qualifierExpression != null, callToEliminate);
|
||||
final Collection<PsiComment> comments = PsiTreeUtil.findChildrenOfType(callToEliminate, PsiComment.class);
|
||||
for (PsiComment comment : comments) {
|
||||
final TextRange commentRange = comment.getTextRange();
|
||||
if (!sourceLambdaBody.getTextRange().contains(commentRange) &&
|
||||
!qualifierExpression.getTextRange().contains(commentRange)) {
|
||||
targetBody.add(comment);
|
||||
}
|
||||
}
|
||||
callToEliminate.replace(qualifierExpression);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-2
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.PsiEquivalenceUtil;
|
||||
import com.intellij.codeInsight.highlighting.HighlightManager;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -174,7 +173,6 @@ public class MoveFieldAssignmentToInitializerAction extends BaseIntentionAction
|
||||
if (assignment == null) return;
|
||||
PsiField field = getAssignedField(assignment);
|
||||
if (field == null) return;
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
|
||||
List<PsiAssignmentExpression> assignments = new ArrayList<>();
|
||||
if (!isInitializedWithSameExpression(field, assignment, assignments)) return;
|
||||
|
||||
-3
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.PsiEquivalenceUtil;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -52,8 +51,6 @@ public class PushConditionInCallAction extends PsiElementBaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
|
||||
final PsiConditionalExpression conditionalExpression = PsiTreeUtil.getParentOfType(element, PsiConditionalExpression.class);
|
||||
if (conditionalExpression == null) return;
|
||||
PsiExpression thenExpression = conditionalExpression.getThenExpression();
|
||||
|
||||
+1
-2
@@ -17,7 +17,6 @@ package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.CodeInsightUtil;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.progress.ProgressIndicatorProvider;
|
||||
@@ -71,7 +70,7 @@ public class ReplaceCastWithVariableAction extends PsiElementBaseIntentionAction
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
final PsiTypeCastExpression typeCastExpression = PsiTreeUtil.getParentOfType(element, PsiTypeCastExpression.class);
|
||||
|
||||
if (typeCastExpression == null || !FileModificationService.getInstance().preparePsiElementForWrite(element)) {
|
||||
if (typeCastExpression == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
-2
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.daemon.impl.quickfix.SimplifyBooleanExpressionFix;
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -60,7 +59,6 @@ public class SimplifyBooleanExpressionAction implements IntentionAction{
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().prepareFileForWrite(file)) return;
|
||||
PsiExpression expression = getExpressionToSimplify(editor, file);
|
||||
SimplifyBooleanExpressionFix.simplifyExpression(expression);
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -94,8 +93,6 @@ public class SplitDeclarationAction extends PsiElementBaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
|
||||
final PsiDeclarationStatement decl = PsiTreeUtil.getParentOfType(element, PsiDeclarationStatement.class);
|
||||
|
||||
final PsiManager psiManager = PsiManager.getInstance(project);
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -70,49 +69,42 @@ public class SplitFilterAction extends PsiElementBaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
try {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
final PsiJavaToken token = (PsiJavaToken)element;
|
||||
final PsiPolyadicExpression expression = SplitConditionUtil.findCondition(element, true, false);
|
||||
|
||||
final PsiJavaToken token = (PsiJavaToken)element;
|
||||
final PsiPolyadicExpression expression = SplitConditionUtil.findCondition(element, true, false);
|
||||
final PsiLambdaExpression lambdaExpression = PsiTreeUtil.getParentOfType(expression, PsiLambdaExpression.class);
|
||||
LOG.assertTrue(lambdaExpression != null);
|
||||
final String lambdaParameterName = lambdaExpression.getParameterList().getParameters()[0].getName();
|
||||
|
||||
final PsiLambdaExpression lambdaExpression = PsiTreeUtil.getParentOfType(expression, PsiLambdaExpression.class);
|
||||
LOG.assertTrue(lambdaExpression != null);
|
||||
final String lambdaParameterName = lambdaExpression.getParameterList().getParameters()[0].getName();
|
||||
final PsiMethodCallExpression methodCallExpression = PsiTreeUtil.getParentOfType(expression, PsiMethodCallExpression.class);
|
||||
LOG.assertTrue(methodCallExpression != null, expression);
|
||||
|
||||
final PsiMethodCallExpression methodCallExpression = PsiTreeUtil.getParentOfType(expression, PsiMethodCallExpression.class);
|
||||
LOG.assertTrue(methodCallExpression != null, expression);
|
||||
|
||||
PsiExpression lOperand = getLOperands(expression, token);
|
||||
PsiExpression rOperand = getROperands(expression, token);
|
||||
PsiExpression lOperand = getLOperands(expression, token);
|
||||
PsiExpression rOperand = getROperands(expression, token);
|
||||
|
||||
final Collection<PsiComment> comments = PsiTreeUtil.findChildrenOfType(expression, PsiComment.class);
|
||||
final Collection<PsiComment> comments = PsiTreeUtil.findChildrenOfType(expression, PsiComment.class);
|
||||
|
||||
final PsiMethodCallExpression chainedCall =
|
||||
(PsiMethodCallExpression)JavaPsiFacade.getElementFactory(project).createExpressionFromText("a.filter(" + lambdaParameterName + " -> x)", expression);
|
||||
final PsiExpression argExpression = chainedCall.getArgumentList().getExpressions()[0];
|
||||
final PsiElement rReplaced = ((PsiLambdaExpression)argExpression).getBody().replace(rOperand);
|
||||
final PsiMethodCallExpression chainedCall =
|
||||
(PsiMethodCallExpression)JavaPsiFacade.getElementFactory(project).createExpressionFromText("a.filter(" + lambdaParameterName + " -> x)", expression);
|
||||
final PsiExpression argExpression = chainedCall.getArgumentList().getExpressions()[0];
|
||||
final PsiElement rReplaced = ((PsiLambdaExpression)argExpression).getBody().replace(rOperand);
|
||||
|
||||
final PsiExpression compoundArg = methodCallExpression.getArgumentList().getExpressions()[0];
|
||||
final PsiExpression compoundArg = methodCallExpression.getArgumentList().getExpressions()[0];
|
||||
|
||||
final int separatorOffset = token.getTextOffset();
|
||||
for (PsiComment comment : comments) {
|
||||
if (comment.getTextOffset() < separatorOffset) {
|
||||
compoundArg.getParent().add(comment);
|
||||
}
|
||||
else {
|
||||
rReplaced.getParent().add(comment);
|
||||
}
|
||||
final int separatorOffset = token.getTextOffset();
|
||||
for (PsiComment comment : comments) {
|
||||
if (comment.getTextOffset() < separatorOffset) {
|
||||
compoundArg.getParent().add(comment);
|
||||
}
|
||||
else {
|
||||
rReplaced.getParent().add(comment);
|
||||
}
|
||||
|
||||
((PsiLambdaExpression)compoundArg).getBody().replace(lOperand);
|
||||
|
||||
chainedCall.getMethodExpression().getQualifierExpression().replace(methodCallExpression);
|
||||
methodCallExpression.replace(chainedCall);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
|
||||
((PsiLambdaExpression)compoundArg).getBody().replace(lOperand);
|
||||
|
||||
chainedCall.getMethodExpression().getQualifierExpression().replace(methodCallExpression);
|
||||
methodCallExpression.replace(chainedCall);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
@@ -62,26 +61,19 @@ public class SplitIfAction extends PsiElementBaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
try {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
PsiJavaToken token = (PsiJavaToken)element;
|
||||
LOG.assertTrue(token.getTokenType() == JavaTokenType.ANDAND || token.getTokenType() == JavaTokenType.OROR);
|
||||
|
||||
PsiJavaToken token = (PsiJavaToken)element;
|
||||
LOG.assertTrue(token.getTokenType() == JavaTokenType.ANDAND || token.getTokenType() == JavaTokenType.OROR);
|
||||
PsiPolyadicExpression expression = (PsiPolyadicExpression)token.getParent();
|
||||
PsiIfStatement ifStatement = PsiTreeUtil.getParentOfType(expression, PsiIfStatement.class);
|
||||
|
||||
PsiPolyadicExpression expression = (PsiPolyadicExpression)token.getParent();
|
||||
PsiIfStatement ifStatement = PsiTreeUtil.getParentOfType(expression, PsiIfStatement.class);
|
||||
LOG.assertTrue(PsiTreeUtil.isAncestor(ifStatement.getCondition(), expression, false));
|
||||
|
||||
LOG.assertTrue(PsiTreeUtil.isAncestor(ifStatement.getCondition(), expression, false));
|
||||
|
||||
if (token.getTokenType() == JavaTokenType.ANDAND) {
|
||||
doAndSplit(ifStatement, expression, token, editor);
|
||||
}
|
||||
else if (token.getTokenType() == JavaTokenType.OROR) {
|
||||
doOrSplit(ifStatement, expression, token, editor);
|
||||
}
|
||||
if (token.getTokenType() == JavaTokenType.ANDAND) {
|
||||
doAndSplit(ifStatement, expression, token, editor);
|
||||
}
|
||||
catch (IncorrectOperationException e) {
|
||||
LOG.error(e);
|
||||
else if (token.getTokenType() == JavaTokenType.OROR) {
|
||||
doOrSplit(ifStatement, expression, token, editor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-5
@@ -18,7 +18,6 @@ package com.intellij.codeInsight.intention.impl;
|
||||
import com.intellij.codeInsight.CodeInsightBundle;
|
||||
import com.intellij.codeInsight.CodeInsightUtil;
|
||||
import com.intellij.codeInsight.CodeInsightUtilCore;
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
@@ -73,10 +72,6 @@ public class SurroundAutoCloseableAction extends PsiElementBaseIntentionAction {
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, @NotNull PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) {
|
||||
return;
|
||||
}
|
||||
|
||||
PsiLocalVariable variable = findVariable(element);
|
||||
if (variable != null) {
|
||||
processVariable(project, editor, variable);
|
||||
|
||||
-2
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.FileModificationService;
|
||||
import com.intellij.codeInsight.intention.PsiElementBaseIntentionAction;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -29,7 +28,6 @@ import org.jetbrains.annotations.NotNull;
|
||||
public class SwapIfStatementsIntentionAction extends PsiElementBaseIntentionAction {
|
||||
@Override
|
||||
public void invoke(@NotNull final Project project, final Editor editor, @NotNull final PsiElement element) throws IncorrectOperationException {
|
||||
if (!FileModificationService.getInstance().preparePsiElementForWrite(element)) return;
|
||||
final PsiIfStatement ifStatement = (PsiIfStatement)element.getParent();
|
||||
final PsiIfStatement nestedIfStatement = (PsiIfStatement) ifStatement.getElseBranch();
|
||||
assert nestedIfStatement != null;
|
||||
|
||||
Reference in New Issue
Block a user