remove unnecessary invokeLater from some java intentions & quick fixes

This commit is contained in:
peter
2016-04-01 14:47:50 +02:00
parent bca1ab39a8
commit ba4b4069e7
3 changed files with 18 additions and 31 deletions
@@ -18,7 +18,6 @@ package com.intellij.codeInspection;
import com.intellij.CommonBundle;
import com.intellij.codeInsight.FileModificationService;
import com.intellij.codeInsight.daemon.QuickFixBundle;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.Messages;
@@ -60,6 +59,11 @@ public class MoveToPackageFix implements LocalQuickFix {
&& myTargetPackage != null;
}
@Override
public boolean startInWriteAction() {
return false;
}
@Override
public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) {
PsiElement element = descriptor.getPsiElement();
@@ -68,15 +72,6 @@ public class MoveToPackageFix implements LocalQuickFix {
if (!FileModificationService.getInstance().prepareFileForWrite(myFile)) return;
ApplicationManager.getApplication().invokeLater(new Runnable() {
@Override
public void run() {
chooseDirectoryAndMove(project, myFile);
}
});
}
private void chooseDirectoryAndMove(Project project, PsiFile myFile) {
try {
String error;
PsiDirectory directory = null;
@@ -15,8 +15,6 @@
*/
package com.siyeh.ipp.types;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
import com.intellij.psi.*;
@@ -38,22 +36,17 @@ public class ReplaceMethodRefWithLambdaIntention extends Intention {
@Override
protected void processIntention(@NotNull PsiElement element) {}
@Override
public boolean startInWriteAction() {
return false;
}
@Override
protected void processIntention(final Editor editor, @NotNull PsiElement element) {
final PsiMethodReferenceExpression referenceExpression = PsiTreeUtil.getParentOfType(element, PsiMethodReferenceExpression.class);
final PsiLambdaExpression expr = referenceExpression != null ? LambdaRefactoringUtil.convertMethodReferenceToLambda(referenceExpression, false, true) : null;
if (expr == null) return;
final Runnable runnable = new Runnable() {
public void run() {
LambdaRefactoringUtil.removeSideEffectsFromLambdaBody(editor, expr);
}
};
final Application application = ApplicationManager.getApplication();
if (application.isUnitTestMode()) {
runnable.run();
} else {
application.invokeLater(runnable);
}
LambdaRefactoringUtil.removeSideEffectsFromLambdaBody(editor, expr);
}
private static class MethodRefPredicate implements PsiElementPredicate {
@@ -49,14 +49,13 @@ public class I18nizeQuickFix implements LocalQuickFix, I18nQuickFixHandler {
private TextRange mySelectionRange;
@Override
public void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) {
// do it later because the fix was called inside writeAction
ApplicationManager.getApplication().invokeLater(new Runnable(){
@Override
public void run() {
doFix(descriptor, project);
}
});
public final void applyFix(@NotNull final Project project, @NotNull final ProblemDescriptor descriptor) {
doFix(descriptor, project);
}
@Override
public boolean startInWriteAction() {
return false;
}
@Override