From b02b6bef9d5b6d8e6e1258620c7bcf7f5ac46228 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Tue, 13 Dec 2016 13:35:56 +0100 Subject: [PATCH] dedicated exception to flag cancellation (IDEA-CR-16749) --- .../codeInsight/intention/AddAnnotationPsiFix.java | 3 +-- .../codeInsight/ExternalAnnotationsManagerImpl.java | 5 ++--- .../codeInspection/dataFlow/EditContractIntention.java | 3 +-- .../intellij/codeInsight/ExternalAnnotationsManager.java | 9 +++++++-- .../codeInsight/BaseExternalAnnotationsManager.java | 3 +-- .../annotation/AnnotateOverriddenMethodsIntention.java | 2 +- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/intention/AddAnnotationPsiFix.java b/java/java-analysis-impl/src/com/intellij/codeInsight/intention/AddAnnotationPsiFix.java index c329e305e7c6..a479c0abbfe2 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/intention/AddAnnotationPsiFix.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/intention/AddAnnotationPsiFix.java @@ -24,7 +24,6 @@ import com.intellij.lang.findUsages.LanguageFindUsages; import com.intellij.openapi.command.WriteCommandAction; import com.intellij.openapi.command.undo.UndoUtil; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.Project; import com.intellij.psi.*; import com.intellij.psi.codeStyle.JavaCodeStyleManager; @@ -141,7 +140,7 @@ public class AddAnnotationPsiFix extends LocalQuickFixOnPsiElement { try { annotationsManager.annotateExternally(myModifierListOwner, myAnnotation, file, myPairs); } - catch (ProcessCanceledException ignored) {} + catch (ExternalAnnotationsManager.CanceledConfigurationException ignored) {} } else { final PsiFile containingFile = myModifierListOwner.getContainingFile(); diff --git a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java index 87c22f596870..c31dc89805ce 100644 --- a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java +++ b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java @@ -43,7 +43,6 @@ import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.fileEditor.FileEditorManager; -import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectBundle; @@ -127,7 +126,7 @@ public class ExternalAnnotationsManagerImpl extends ReadableExternalAnnotationsM public void annotateExternally(@NotNull final PsiModifierListOwner listOwner, @NotNull final String annotationFQName, @NotNull final PsiFile fromFile, - @Nullable final PsiNameValuePair[] value) throws ProcessCanceledException { + @Nullable final PsiNameValuePair[] value) throws CanceledConfigurationException { Application application = ApplicationManager.getApplication(); application.assertIsDispatchThread(); LOG.assertTrue(!application.isWriteAccessAllowed()); @@ -162,7 +161,7 @@ public class ExternalAnnotationsManagerImpl extends ReadableExternalAnnotationsM DumbService.getInstance(project).setAlternativeResolveEnabled(true); try { if (!setupRootAndAnnotateExternally(entry, project, listOwner, annotationFQName, fromFile, packageName, value)) { - throw new ProcessCanceledException(); + throw CanceledConfigurationException.INSTANCE; } } finally { diff --git a/java/java-impl/src/com/intellij/codeInspection/dataFlow/EditContractIntention.java b/java/java-impl/src/com/intellij/codeInspection/dataFlow/EditContractIntention.java index 2d5440fad208..f38fd7e63d4c 100644 --- a/java/java-impl/src/com/intellij/codeInspection/dataFlow/EditContractIntention.java +++ b/java/java-impl/src/com/intellij/codeInspection/dataFlow/EditContractIntention.java @@ -24,7 +24,6 @@ import com.intellij.codeInsight.intention.AddAnnotationPsiFix; import com.intellij.codeInsight.intention.LowPriorityAction; import com.intellij.codeInsight.intention.impl.BaseIntentionAction; import com.intellij.openapi.editor.Editor; -import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogBuilder; import com.intellij.openapi.ui.Messages; @@ -129,7 +128,7 @@ public class EditContractIntention extends BaseIntentionAction implements LowPri manager.annotateExternally(method, ControlFlowAnalyzer.ORG_JETBRAINS_ANNOTATIONS_CONTRACT, method.getContainingFile(), mockAnno.getParameterList().getAttributes()); } - catch (ProcessCanceledException ignored) {} + catch (ExternalAnnotationsManager.CanceledConfigurationException ignored) {} } DaemonCodeAnalyzer.getInstance(project).restart(); } diff --git a/java/java-psi-api/src/com/intellij/codeInsight/ExternalAnnotationsManager.java b/java/java-psi-api/src/com/intellij/codeInsight/ExternalAnnotationsManager.java index 5cc20bc05be9..29eb19ec9aca 100644 --- a/java/java-psi-api/src/com/intellij/codeInsight/ExternalAnnotationsManager.java +++ b/java/java-psi-api/src/com/intellij/codeInsight/ExternalAnnotationsManager.java @@ -16,7 +16,6 @@ package com.intellij.codeInsight; import com.intellij.openapi.components.ServiceManager; -import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.NotNullLazyKey; import com.intellij.psi.*; @@ -57,7 +56,7 @@ public abstract class ExternalAnnotationsManager { public abstract void annotateExternally(@NotNull PsiModifierListOwner listOwner, @NotNull String annotationFQName, @NotNull PsiFile fromFile, - @Nullable PsiNameValuePair[] value) throws ProcessCanceledException; + @Nullable PsiNameValuePair[] value) throws CanceledConfigurationException; public abstract boolean deannotate(@NotNull PsiModifierListOwner listOwner, @NotNull String annotationFQN); @@ -70,4 +69,10 @@ public abstract class ExternalAnnotationsManager { @Nullable public abstract List findExternalAnnotationsFiles(@NotNull PsiModifierListOwner listOwner); + + public static class CanceledConfigurationException extends RuntimeException { + public static final CanceledConfigurationException INSTANCE = new CanceledConfigurationException(); + + private CanceledConfigurationException() {} + } } diff --git a/java/java-psi-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java b/java/java-psi-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java index f9b2953e44f4..0de75592e679 100644 --- a/java/java-psi-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java +++ b/java/java-psi-impl/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java @@ -19,7 +19,6 @@ import com.intellij.lang.PsiBuilder; import com.intellij.lang.java.parser.JavaParser; import com.intellij.lang.java.parser.JavaParserUtil; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.util.Condition; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.LowMemoryWatcher; @@ -316,7 +315,7 @@ public abstract class BaseExternalAnnotationsManager extends ExternalAnnotations public void annotateExternally(@NotNull PsiModifierListOwner listOwner, @NotNull String annotationFQName, @NotNull PsiFile fromFile, - @Nullable PsiNameValuePair[] value) throws ProcessCanceledException { + @Nullable PsiNameValuePair[] value) throws CanceledConfigurationException { throw new UnsupportedOperationException(); } diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/annotation/AnnotateOverriddenMethodsIntention.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/annotation/AnnotateOverriddenMethodsIntention.java index dd6eafd3e9a3..73ff4d2b3060 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/annotation/AnnotateOverriddenMethodsIntention.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/annotation/AnnotateOverriddenMethodsIntention.java @@ -132,7 +132,7 @@ public class AnnotateOverriddenMethodsIntention extends MutablyNamedIntention { } } } - catch (ProcessCanceledException ignored) { + catch (ExternalAnnotationsManager.CanceledConfigurationException ignored) { //escape on configuring root cancel further annotations } if (!prepare.isEmpty()) {