diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/ChangeSignatureGestureTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/ChangeSignatureGestureTest.java index 87670d4eea27..170593585006 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/ChangeSignatureGestureTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/ChangeSignatureGestureTest.java @@ -116,13 +116,7 @@ public class ChangeSignatureGestureTest extends LightCodeInsightFixtureTestCase } public void testDeleteParamInSuperUsed() { - try { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(true); - doDeleteTest(); - } - finally { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(false); - } + BaseRefactoringProcessor.ConflictsInTestsException.withIgnoredConflicts(() -> doDeleteTest()); } private void doDeleteTest() { diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/ChangeSignatureTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/ChangeSignatureTest.java index a3f025c69210..f843fc6cb49c 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/ChangeSignatureTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/ChangeSignatureTest.java @@ -265,13 +265,9 @@ public class ChangeSignatureTest extends ChangeSignatureBaseTest { } public void testRemoveVarargParameter() { - try { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(true); - doTest(null, null, null, new ParameterInfoImpl[]{new ParameterInfoImpl(0)}, new ThrownExceptionInfo[0], false); - } - finally { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(false); - } + BaseRefactoringProcessor.ConflictsInTestsException.withIgnoredConflicts(()-> + doTest(null, null, null, new ParameterInfoImpl[]{new ParameterInfoImpl(0)}, new ThrownExceptionInfo[0], false) + ); } public void testEnumConstructor() { diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractClassTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractClassTest.java index 6bce67ee1c10..92ed15a88906 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractClassTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/ExtractClassTest.java @@ -88,13 +88,7 @@ public class ExtractClassTest extends MultiFileTestCase { } public void testIncrement() { - try { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(true); - doTestField(null, false); - } - finally { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(false); - } + BaseRefactoringProcessor.ConflictsInTestsException.withIgnoredConflicts(()->doTestField(null, false)); } public void testVarargs() { diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/SafeDeleteTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/SafeDeleteTest.java index 29ffe543ab02..2dd9c228d8e9 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/SafeDeleteTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/SafeDeleteTest.java @@ -163,13 +163,7 @@ public class SafeDeleteTest extends MultiFileTestCase { } public void testRemoveOverridersInspiteOfUnsafeUsages() { - try { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(true); - doTest("A"); - } - finally { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(false); - } + BaseRefactoringProcessor.ConflictsInTestsException.withIgnoredConflicts(()->doTest("A")); } public void testLocalVariable() { @@ -331,13 +325,7 @@ public class SafeDeleteTest extends MultiFileTestCase { public void testParameterInMethodUsedInMethodReference() throws Exception { LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_8); - try { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(true); - doSingleFileTest(); - } - finally { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(false); - } + BaseRefactoringProcessor.ConflictsInTestsException.withIgnoredConflicts(()->doSingleFileTest()); } public void testNoConflictOnDeleteParameterWithMethodRefArg() throws Exception { @@ -346,13 +334,7 @@ public class SafeDeleteTest extends MultiFileTestCase { } public void testShowConflictsButRemoveAnnotationsIfAnnotationTypeIsDeleted() throws Exception { - try { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(true); - doSingleFileTest(); - } - finally { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(false); - } + BaseRefactoringProcessor.ConflictsInTestsException.withIgnoredConflicts(()->doSingleFileTest()); } public void testUsagesInScratch() throws Exception { diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineMethodTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineMethodTest.java index 73c746f364d5..152107ceb1ab 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineMethodTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/inline/InlineMethodTest.java @@ -110,13 +110,7 @@ public class InlineMethodTest extends LightRefactoringTestCase { public void testChainingConstructor() { doTest(); } public void testChainingConstructor1() { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(true); - try { - doTest(); - } - finally { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(false); - } + BaseRefactoringProcessor.ConflictsInTestsException.withIgnoredConflicts(()->doTest()); } public void testNestedCall() { doTest(); } diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/moveMethod/MoveInstanceMethodTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/moveMethod/MoveInstanceMethodTest.java index abd2fe12a9a8..3e6302dd76fc 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/moveMethod/MoveInstanceMethodTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/moveMethod/MoveInstanceMethodTest.java @@ -129,13 +129,7 @@ public class MoveInstanceMethodTest extends LightRefactoringTestCase { } public void testParameterMethodReference() { - try { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(true); - doTest(true, 0); - } - finally { - BaseRefactoringProcessor.ConflictsInTestsException.setTestIgnore(false); - } + BaseRefactoringProcessor.ConflictsInTestsException.withIgnoredConflicts(()->doTest(true, 0)); } private void doTest(boolean isTargetParameter, final int targetIndex) { diff --git a/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java index 68046f92dbd9..c00b0bf11803 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java @@ -42,7 +42,6 @@ import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; -import com.intellij.openapi.util.EmptyRunnable; import com.intellij.openapi.util.Factory; import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.registry.Registry; @@ -89,7 +88,7 @@ public abstract class BaseRefactoringProcessor implements Runnable { private RefactoringTransaction myTransaction; private boolean myIsPreviewUsages; - protected Runnable myPrepareSuccessfulSwingThreadCallback = EmptyRunnable.INSTANCE; + protected Runnable myPrepareSuccessfulSwingThreadCallback; protected BaseRefactoringProcessor(@NotNull Project project) { this(project, null); @@ -578,17 +577,12 @@ public abstract class BaseRefactoringProcessor implements Runnable { this.messages = messages; } - @TestOnly - public static void setTestIgnore(boolean myIgnore) { - myTestIgnore = myIgnore; - } - public static boolean isTestIgnore() { return myTestIgnore; } @TestOnly - public static void withIgnoredConflicts(ThrowableRunnable r) throws T { + public static void withIgnoredConflicts(@NotNull ThrowableRunnable r) throws T { try { myTestIgnore = true; r.run();