mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
IDEADEV-40480
Can't rename java files outside source roots
This commit is contained in:
@@ -1,12 +1,17 @@
|
||||
package com.intellij.refactoring.rename;
|
||||
|
||||
import com.intellij.codeInsight.daemon.impl.CollectHighlightsUtil;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.PsiJavaFile;
|
||||
import com.intellij.psi.JspPsiUtil;
|
||||
|
||||
public class JavaVetoRenameCondition implements Condition<PsiElement> {
|
||||
public boolean value(final PsiElement element) {
|
||||
return element instanceof PsiJavaFile && !JspPsiUtil.isInJspFile(element) && ((PsiJavaFile) element).getClasses().length > 0;
|
||||
return element instanceof PsiJavaFile &&
|
||||
!JspPsiUtil.isInJspFile(element) &&
|
||||
!CollectHighlightsUtil.isOutsideSourceRootJavaFile((PsiFile)element) &&
|
||||
((PsiJavaFile) element).getClasses().length > 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ public class PsiElementRenameHandler implements RenameHandler {
|
||||
|
||||
static boolean canRename(Project project, Editor editor, PsiElement element) {
|
||||
if (element == null) return false;
|
||||
if (CollectHighlightsUtil.isOutsideSourceRootJavaFile(element.getContainingFile())) return false;
|
||||
if (!(element instanceof PsiFile) && CollectHighlightsUtil.isOutsideSourceRootJavaFile(element.getContainingFile())) return false;
|
||||
boolean hasRenameProcessor = RenamePsiElementProcessor.forElement(element) != RenamePsiElementProcessor.DEFAULT;
|
||||
boolean hasWritableMetaData = element instanceof PsiMetaOwner && ((PsiMetaOwner)element).getMetaData() instanceof PsiWritableMetaData;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user