don't clear read-only status after it was cleared by BaseRefactoringProcessor before writeAction

This commit is contained in:
Anna.Kozlova
2016-11-29 11:12:59 +01:00
parent 65b0798255
commit 75376c7551
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,7 +28,6 @@ import com.intellij.psi.search.searches.ReferencesSearch;
import com.intellij.psi.util.PsiElementFilter;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.psi.util.PsiUtilCore;
import com.intellij.refactoring.BaseRefactoringProcessor;
import com.intellij.refactoring.PackageWrapper;
import com.intellij.refactoring.RefactoringBundle;
@@ -39,9 +38,7 @@ import com.intellij.refactoring.rename.RenameUtil;
import com.intellij.refactoring.util.*;
import com.intellij.usageView.UsageInfo;
import com.intellij.usageView.UsageViewDescriptor;
import com.intellij.util.Function;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.Processor;
import com.intellij.util.VisibilityUtil;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.containers.MultiMap;
@@ -124,8 +121,6 @@ public class MoveClassToInnerProcessor extends BaseRefactoringProcessor {
}
protected void performRefactoring(@NotNull UsageInfo[] usages) {
if (!prepareWritable(usages)) return;
MoveClassToInnerHandler[] handlers = MoveClassToInnerHandler.EP_NAME.getExtensions();
ArrayList<UsageInfo> usageList = new ArrayList<>(Arrays.asList(usages));
@@ -184,22 +179,6 @@ public class MoveClassToInnerProcessor extends BaseRefactoringProcessor {
}
}
private boolean prepareWritable(final UsageInfo[] usages) {
Set<PsiElement> elementsToMakeWritable = new HashSet<>();
Collections.addAll(elementsToMakeWritable, myClassesToMove);
elementsToMakeWritable.add(myTargetClass);
for(UsageInfo usage: usages) {
PsiElement element = usage.getElement();
if (element != null) {
elementsToMakeWritable.add(element);
}
}
if (!CommonRefactoringUtil.checkReadOnlyStatus(myProject, PsiUtilCore.toPsiElementArray(elementsToMakeWritable))) {
return false;
}
return true;
}
private void saveNonCodeUsages(final UsageInfo[] usages) {
for (PsiClass classToMove : myClassesToMove) {
for(UsageInfo usageInfo: usages) {