EA-97010 - assert: NoSwingUnderWriteAction.lambda$watchForEvents$

This commit is contained in:
Anna.Kozlova
2017-02-16 12:44:27 +01:00
parent 0bce3fb3b5
commit 99c23aa5cd
2 changed files with 14 additions and 10 deletions
@@ -31,7 +31,9 @@ import com.intellij.openapi.editor.ScrollType;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Pass;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.*;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.impl.source.PostprocessReformattingAspect;
import com.intellij.refactoring.HelpID;
import com.intellij.refactoring.RefactoringActionHandler;
@@ -113,7 +115,7 @@ public class ExtractMethodObjectHandler implements RefactoringActionHandler, Con
PsiDocumentManager.getInstance(project).commitAllDocuments();
if (processor.isCreateInnerClass()) {
ApplicationManager.getApplication().runWriteAction(() -> processor.moveUsedMethodsToInner());
processor.moveUsedMethodsToInner();
PsiDocumentManager.getInstance(project).commitAllDocuments();
if (editor != null) {
DuplicatesImpl.processDuplicates(extractProcessor, project, editor);
@@ -23,6 +23,7 @@ package com.intellij.refactoring.extractMethodObject;
import com.intellij.codeInsight.NullableNotNullManager;
import com.intellij.codeInsight.generation.GenerateMembersUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.WriteAction;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project;
@@ -58,7 +59,6 @@ import com.intellij.usageView.UsageInfo;
import com.intellij.usageView.UsageViewDescriptor;
import com.intellij.usageView.UsageViewUtil;
import com.intellij.util.ArrayUtil;
import com.intellij.util.Function;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.VisibilityUtil;
import org.jetbrains.annotations.NonNls;
@@ -203,12 +203,14 @@ public class ExtractMethodObjectProcessor extends BaseRefactoringProcessor {
void moveUsedMethodsToInner() {
if (!myUsages.isEmpty()) {
if (ApplicationManager.getApplication().isUnitTestMode()) {
for (MethodToMoveUsageInfo usage : myUsages) {
final PsiMember member = (PsiMember)usage.getElement();
LOG.assertTrue(member != null);
myInnerClass.add(member.copy());
member.delete();
}
WriteAction.run(() -> {
for (MethodToMoveUsageInfo usage : myUsages) {
final PsiMember member = (PsiMember)usage.getElement();
LOG.assertTrue(member != null);
myInnerClass.add(member.copy());
member.delete();
}
});
return;
}
final List<MemberInfo> memberInfos = new ArrayList<>();
@@ -230,7 +232,7 @@ public class ExtractMethodObjectProcessor extends BaseRefactoringProcessor {
}
};
if (dlg.showAndGet()) {
ApplicationManager.getApplication().runWriteAction(() -> {
WriteAction.run(() -> {
for (MemberInfoBase<PsiMember> memberInfo : panel.getTable().getSelectedMemberInfos()) {
if (memberInfo.isChecked()) {
myInnerClass.add(memberInfo.getMember().copy());