diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddAnnotationAttributeNameFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddAnnotationAttributeNameFix.java index 1cab755266f2..f72211e76b8c 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddAnnotationAttributeNameFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddAnnotationAttributeNameFix.java @@ -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); } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddExceptionToCatchFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddExceptionToCatchFix.java index f58c92907ab3..c961ce7a4163 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddExceptionToCatchFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddExceptionToCatchFix.java @@ -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; diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMethodBodyFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMethodBodyFix.java index d1a4574ddbb6..337679fcd17a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMethodBodyFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMethodBodyFix.java @@ -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 diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMethodFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMethodFix.java index 7a82550f3cae..7d6a5dcbb22f 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMethodFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMethodFix.java @@ -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) { diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMissingRequiredAnnotationParametersFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMissingRequiredAnnotationParametersFix.java index 5c1d0f79d327..ef46ec994a23 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMissingRequiredAnnotationParametersFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddMissingRequiredAnnotationParametersFix.java @@ -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 annotationsOrderMap = getAnnotationsOrderMap(); - final SortedSet> - newParameters = new TreeSet<>( - (o1, o2) -> annotationsOrderMap.get(o1.getFirst()) - annotationsOrderMap.get(o2.getFirst())); - - if (!FileModificationService.getInstance().prepareFileForWrite(file)) return; + final SortedSet> 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.create(misssedParameter, nullValue)); + newParameters.add(Pair.create(misssedParameter, nullValue)); } TemplateBuilderImpl builder = null; diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddNewArrayExpressionFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddNewArrayExpressionFix.java index 1fdc37b9cf29..4ecdb03001bf 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddNewArrayExpressionFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddNewArrayExpressionFix.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddReturnFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddReturnFix.java index b1f38693b6a5..3be7cd714e5b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddReturnFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddReturnFix.java @@ -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() { diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddVariableInitializerFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddVariableInitializerFix.java index fed93dccb91c..f43f059680ab 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddVariableInitializerFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/AddVariableInitializerFix.java @@ -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); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/BringVariableIntoScopeFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/BringVariableIntoScopeFix.java index 31354ab4d992..3f9f0ebea02f 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/BringVariableIntoScopeFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/BringVariableIntoScopeFix.java @@ -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); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeToAppendFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeToAppendFix.java index 8974dd10291a..0ddf526c67bf 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeToAppendFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ChangeToAppendFix.java @@ -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; diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ConvertSwitchToIfIntention.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ConvertSwitchToIfIntention.java index 5260754816a1..51e8182ad144 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ConvertSwitchToIfIntention.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ConvertSwitchToIfIntention.java @@ -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) { diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateCastExpressionFromInstanceofAction.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateCastExpressionFromInstanceofAction.java index ed56ce5b38bb..5441d24143c7 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateCastExpressionFromInstanceofAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateCastExpressionFromInstanceofAction.java @@ -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); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateLocalVarFromInstanceofAction.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateLocalVarFromInstanceofAction.java index ffcce73e9b6b..f853c83967e3 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateLocalVarFromInstanceofAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateLocalVarFromInstanceofAction.java @@ -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 { diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodQuickFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodQuickFix.java index 70ec12b6fd4e..bb7bd9e3c49a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodQuickFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/CreateMethodQuickFix.java @@ -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> arguments = - ContainerUtil.map2List(method.getParameterList().getParameters(), new Function>() { - @Override - public Pair 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); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteCatchFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteCatchFix.java index 0bd97a0e198f..c028e85ea5e9 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteCatchFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteCatchFix.java @@ -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 diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteMethodBodyFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteMethodBodyFix.java index a1109159f8db..2d23168404a6 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteMethodBodyFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteMethodBodyFix.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteMultiCatchFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteMultiCatchFix.java index c85e613acf9a..dc20a2bdaf0c 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteMultiCatchFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/DeleteMultiCatchFix.java @@ -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; diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/GeneralizeCatchFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/GeneralizeCatchFix.java index 2f7c34e47886..e4120bc66aac 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/GeneralizeCatchFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/GeneralizeCatchFix.java @@ -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); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImplementAbstractClassMethodsFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImplementAbstractClassMethodsFix.java index 50f285eac31b..c5d64aa4f45a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImplementAbstractClassMethodsFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ImplementAbstractClassMethodsFix.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/InsertNewFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/InsertNewFix.java index b9dc50f31d78..a6f889de1eb1 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/InsertNewFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/InsertNewFix.java @@ -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); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/InsertSuperFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/InsertSuperFix.java index dd0664c4ead2..6d4614aec9e0 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/InsertSuperFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/InsertSuperFix.java @@ -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 diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeClassInterfaceFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeClassInterfaceFix.java index 7426014d41ff..57e9afaa3dcc 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeClassInterfaceFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeClassInterfaceFix.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeMethodConstructorFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeMethodConstructorFix.java index c3327772463e..c8b84cd0debd 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeMethodConstructorFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeMethodConstructorFix.java @@ -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(); } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeVarargParameterLastFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeVarargParameterLastFix.java index 4e57a648134d..89176a870b68 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeVarargParameterLastFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MakeVarargParameterLastFix.java @@ -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(); } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveBoundClassToFrontFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveBoundClassToFrontFix.java index ca2ecfd62ed5..1f2d7bcb61d5 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveBoundClassToFrontFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveBoundClassToFrontFix.java @@ -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 { diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveCatchUpFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveCatchUpFix.java index 4110c915a0ba..5581c4d085e7 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveCatchUpFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveCatchUpFix.java @@ -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 diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveClassToSeparateFileFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveClassToSeparateFileFix.java index a949408f4a92..713dd666ac93 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveClassToSeparateFileFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/MoveClassToSeparateFileFix.java @@ -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 diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/NegationBroadScopeFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/NegationBroadScopeFix.java index 8581de630fb6..64d27b47261e 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/NegationBroadScopeFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/NegationBroadScopeFix.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/OptimizeImportsFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/OptimizeImportsFix.java index 4e1af74edf89..153f71ee0dd1 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/OptimizeImportsFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/OptimizeImportsFix.java @@ -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 diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveNewQualifierFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveNewQualifierFix.java index fff92ff01a4c..3b0bacfa1209 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveNewQualifierFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveNewQualifierFix.java @@ -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) { diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveParameterListFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveParameterListFix.java index 19f5359475c4..f03bdf95ab5b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveParameterListFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveParameterListFix.java @@ -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()); } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveQualifierFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveQualifierFix.java index 35a053e64489..8e185839615b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveQualifierFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveQualifierFix.java @@ -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); } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveRedundantElseAction.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveRedundantElseAction.java index 28db235e1e1b..97444724194f 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveRedundantElseAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveRedundantElseAction.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveTypeArgumentsFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveTypeArgumentsFix.java index 14e6f600f219..82f587422299 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveTypeArgumentsFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RemoveTypeArgumentsFix.java @@ -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(); } } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameWrongRefFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameWrongRefFix.java index a5c19070a460..b521f52d6bdf 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameWrongRefFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/RenameWrongRefFix.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceAddAllArrayToCollectionFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceAddAllArrayToCollectionFix.java index 57ac922eb361..3eccb3c4a007 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceAddAllArrayToCollectionFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceAddAllArrayToCollectionFix.java @@ -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)); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceInaccessibleFieldWithGetterSetterFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceInaccessibleFieldWithGetterSetterFix.java index dfe7399ee3f9..36b0c03df61b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceInaccessibleFieldWithGetterSetterFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceInaccessibleFieldWithGetterSetterFix.java @@ -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) { diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceIteratorForEachLoopWithIteratorForLoopFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceIteratorForEachLoopWithIteratorForLoopFix.java index df5ffe1b6976..452af53bc584 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceIteratorForEachLoopWithIteratorForLoopFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceIteratorForEachLoopWithIteratorForLoopFix.java @@ -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; diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplacePrimitiveWithBoxedTypeAction.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplacePrimitiveWithBoxedTypeAction.java index 81c46110704e..1da96f38584f 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplacePrimitiveWithBoxedTypeAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplacePrimitiveWithBoxedTypeAction.java @@ -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)); } diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceWithListAccessFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceWithListAccessFix.java index 7e8161e39598..271106af84aa 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceWithListAccessFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReplaceWithListAccessFix.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReuseVariableDeclarationFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReuseVariableDeclarationFix.java index bc1aafdf3c96..4cc25af69ea3 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReuseVariableDeclarationFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/ReuseVariableDeclarationFix.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithArrayFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithArrayFix.java index 1c9751ec453a..68105517fba7 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithArrayFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithArrayFix.java @@ -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; diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithQuotesAnnotationParameterValueFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithQuotesAnnotationParameterValueFix.java index d56fe7ad6b13..fcd81486920a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithQuotesAnnotationParameterValueFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithQuotesAnnotationParameterValueFix.java @@ -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 + "\""; diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithTryCatchFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithTryCatchFix.java index 5a48b1abb2c9..5feadb46efd1 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithTryCatchFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/SurroundWithTryCatchFix.java @@ -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)); diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableAccessFromInnerClassFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableAccessFromInnerClassFix.java index 2a70f2316610..f8fea8dbf95b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableAccessFromInnerClassFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableAccessFromInnerClassFix.java @@ -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: diff --git a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableTypeFix.java b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableTypeFix.java index bb969d7bff0f..43e93ff660af 100644 --- a/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableTypeFix.java +++ b/java/java-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/VariableTypeFix.java @@ -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 diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/AssignFieldFromParameterAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/AssignFieldFromParameterAction.java index 1edb896636ab..6cf28f28ccb1 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/AssignFieldFromParameterAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/AssignFieldFromParameterAction.java @@ -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 diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/BaseMoveInitializerToMethodAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/BaseMoveInitializerToMethodAction.java index b9ad6821805b..17aa29ccbaf5 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/BaseMoveInitializerToMethodAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/BaseMoveInitializerToMethodAction.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/BreakStringOnLineBreaksIntentionAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/BreakStringOnLineBreaksIntentionAction.java index 272c4d08931a..8b44c34c16fb 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/BreakStringOnLineBreaksIntentionAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/BreakStringOnLineBreaksIntentionAction.java @@ -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)); } diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConcatenationToMessageFormatAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConcatenationToMessageFormatAction.java index 9bd89b04ee05..86d3f7a85680 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConcatenationToMessageFormatAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConcatenationToMessageFormatAction.java @@ -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; diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertAbsolutePathToRelativeIntentionAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertAbsolutePathToRelativeIntentionAction.java index e359077a762b..53f0f915bd52 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertAbsolutePathToRelativeIntentionAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertAbsolutePathToRelativeIntentionAction.java @@ -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) { diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertColorRepresentationIntentionAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertColorRepresentationIntentionAction.java index 1d41ca9cbc9d..73da48c2f96f 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertColorRepresentationIntentionAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertColorRepresentationIntentionAction.java @@ -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; diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertCompareToToEqualsIntention.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertCompareToToEqualsIntention.java index bba5c08bd123..1045b127024e 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertCompareToToEqualsIntention.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertCompareToToEqualsIntention.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertToBasicLatinAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertToBasicLatinAction.java index 04a62b099b0e..eb4d8ee885a9 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertToBasicLatinAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ConvertToBasicLatinAction.java @@ -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); diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSwitchIntention.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSwitchIntention.java index e599e03f99c1..dfb800f41c1a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSwitchIntention.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/CreateSwitchIntention.java @@ -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 diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ExpandStaticImportAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ExpandStaticImportAction.java index 73de7fc58234..580400cbd75c 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ExpandStaticImportAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ExpandStaticImportAction.java @@ -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 expressionToExpand = collectReferencesThrough(file, refExpr, staticImport); diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ExtractIfConditionAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ExtractIfConditionAction.java index 802f32c5e322..645cb0321992 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ExtractIfConditionAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ExtractIfConditionAction.java @@ -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)); } diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/InlineStreamMapAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/InlineStreamMapAction.java index 2ad405e04a6f..b0f1eff68800 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/InlineStreamMapAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/InlineStreamMapAction.java @@ -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); diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/InvertIfConditionAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/InvertIfConditionAction.java index 0307c8633e7c..50b8653a71c1 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/InvertIfConditionAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/InvertIfConditionAction.java @@ -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); diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/MergeFilterChainAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/MergeFilterChainAction.java index c705d9738d17..7b6ae4505703 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/MergeFilterChainAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/MergeFilterChainAction.java @@ -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 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 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); } } diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/MoveFieldAssignmentToInitializerAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/MoveFieldAssignmentToInitializerAction.java index 1d8b4ebcdb50..fc5dedcdd3de 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/MoveFieldAssignmentToInitializerAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/MoveFieldAssignmentToInitializerAction.java @@ -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 assignments = new ArrayList<>(); if (!isInitializedWithSameExpression(field, assignment, assignments)) return; diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/PushConditionInCallAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/PushConditionInCallAction.java index 004e92ffb813..ad6485a80b77 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/PushConditionInCallAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/PushConditionInCallAction.java @@ -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(); diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ReplaceCastWithVariableAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ReplaceCastWithVariableAction.java index 46218bb63587..947cc7b1a011 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/ReplaceCastWithVariableAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/ReplaceCastWithVariableAction.java @@ -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; } diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SimplifyBooleanExpressionAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SimplifyBooleanExpressionAction.java index a977ab7202e8..1ee08763a353 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SimplifyBooleanExpressionAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SimplifyBooleanExpressionAction.java @@ -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); } diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitDeclarationAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitDeclarationAction.java index b418e0a7c54b..b869d5b66d7a 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitDeclarationAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitDeclarationAction.java @@ -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); diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitFilterAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitFilterAction.java index 3b7a42c0fdd3..5f50a421d0d5 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitFilterAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitFilterAction.java @@ -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 comments = PsiTreeUtil.findChildrenOfType(expression, PsiComment.class); + final Collection 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); } } diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitIfAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitIfAction.java index a621440c1ee2..133060278b90 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitIfAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SplitIfAction.java @@ -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); } } diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SurroundAutoCloseableAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SurroundAutoCloseableAction.java index 84f20fcef158..d3966c0de56b 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SurroundAutoCloseableAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SurroundAutoCloseableAction.java @@ -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); diff --git a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SwapIfStatementsIntentionAction.java b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SwapIfStatementsIntentionAction.java index ceb6ed0abc1e..a4f6741b4647 100644 --- a/java/java-impl/src/com/intellij/codeInsight/intention/impl/SwapIfStatementsIntentionAction.java +++ b/java/java-impl/src/com/intellij/codeInsight/intention/impl/SwapIfStatementsIntentionAction.java @@ -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;