mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[java-refactoring] Safe-delete: do not try to delete non-members from non-project files
Fixes IDEA-353914 Baka information is displayed in "Safe Delete" window GitOrigin-RevId: 1a453b21754a440090d022b5d832cd1c7928b09e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
fdca03869d
commit
2e1d43405b
@@ -153,9 +153,11 @@ public class SafeDeleteFix extends LocalQuickFixAndIntentionActionOnPsiElement {
|
||||
});
|
||||
|
||||
PsiFile containingFile = body.getContainingFile();
|
||||
PsiManager manager = containingFile.getManager();
|
||||
return elementsToCheck
|
||||
.stream()
|
||||
.filter(additionalFilter)
|
||||
.filter(manager::isInProject)
|
||||
.filter(m -> m != containingFile)
|
||||
.filter(m -> !PsiTreeUtil.isAncestor(psiMember, m, true))
|
||||
.filter(m -> !(m instanceof PsiMember member) ||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
class AccidentalPropertyRef {
|
||||
// mockjdk-21 contains a file java/time/chrono/hijrah-config-Hijrah-umalqura_islamic-umalqura.properties
|
||||
// which contains a line like
|
||||
// 1493=30 29 30 29 30 29 29 30 29 30 30 30
|
||||
// this test ensures that we don't try to remove this line from the JDK
|
||||
public static void <caret>main(String[] args) {
|
||||
String s = "1493";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
class AccidentalPropertyRef {
|
||||
}
|
||||
-2
@@ -1,5 +1,3 @@
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class Subst {
|
||||
void test1() {
|
||||
test2();
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.intellij.ide.scratch.ScratchFileService;
|
||||
import com.intellij.ide.scratch.ScratchRootType;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.application.WriteAction;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ModuleRootModificationUtil;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
@@ -35,6 +36,11 @@ public class SafeDeleteTest extends MultiFileTestCase {
|
||||
ModuleRootModificationUtil.updateModel(getModule(), DefaultLightProjectDescriptor::addJetBrainsAnnotations);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Sdk getTestProjectJdk() {
|
||||
return IdeaTestUtil.getMockJdk21();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
@@ -137,6 +143,10 @@ public class SafeDeleteTest extends MultiFileTestCase {
|
||||
doSingleFileTest();
|
||||
}
|
||||
|
||||
public void testAccidentalPropertyRef() throws Exception {
|
||||
doSingleFileTest();
|
||||
}
|
||||
|
||||
public void testDeleteMethodWithPropertyUsage() {
|
||||
doTest("Foo");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user