diff --git a/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CheckConditionsContext.java b/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CheckConditionsContext.java index 82ca63804a6..c4e1952fcfe 100644 --- a/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CheckConditionsContext.java +++ b/bundles/org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/participants/CheckConditionsContext.java @@ -22,8 +22,6 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.SubMonitor; @@ -102,9 +100,7 @@ public void add(IConditionChecker checker) throws CoreException { * @throws CoreException if an error occurs during condition checking */ public RefactoringStatus check(IProgressMonitor pm) throws CoreException { - if (pm == null) { - pm= new NullProgressMonitor(); - } + RefactoringStatus result= new RefactoringStatus(); mergeResourceOperationAndValidateEdit(); List values= new ArrayList<>(fCheckers.values()); @@ -120,14 +116,11 @@ public RefactoringStatus check(IProgressMonitor pm) throws CoreException { } return 0; }); + SubMonitor sm= SubMonitor.convert(pm, "", values.size()); //$NON-NLS-1$ for (IConditionChecker checker : values) { result.merge(checker.check(sm.split(1))); - if (pm.isCanceled()) { - throw new OperationCanceledException(); - } } - pm.done(); return result; }