mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Java: allow importing a class when there is a variable/method with the exact same name (IDEA-216101)
GitOrigin-RevId: e4c5b86ce2f4910711e33581c58d271dadbf6970
This commit is contained in:
committed by
intellij-monorepo-bot
parent
7d5cd09250
commit
b4c155f5de
+1
-1
@@ -145,7 +145,7 @@ public abstract class ImportClassFixBase<T extends PsiElement, R extends PsiRefe
|
||||
PsiElement element = result.getElement();
|
||||
// already imported
|
||||
// can happen when e.g., class name happened to be in a method position
|
||||
if (result.isValidResult() || element instanceof PsiClass && result.getCurrentFileResolveScope() instanceof PsiImportStatement) {
|
||||
if (element instanceof PsiClass && (result.isValidResult() || result.getCurrentFileResolveScope() instanceof PsiImportStatement)) {
|
||||
return PsiClass.EMPTY_ARRAY;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -299,7 +299,7 @@ public final class JavaReferenceAdjuster implements ReferenceAdjuster {
|
||||
}
|
||||
}
|
||||
}
|
||||
return helper.resolveReferencedVariable(referenceText, psiReference) == null;
|
||||
return !(psiReference instanceof PsiReferenceExpression) || helper.resolveReferencedVariable(referenceText, psiReference) == null;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
public class Res {
|
||||
|
||||
public static final Res.R<String, Object> R = new R<>() {
|
||||
public static final R<String, Object> R = new R<>() {
|
||||
final String param = "";
|
||||
|
||||
@Override
|
||||
|
||||
+20
@@ -76,6 +76,26 @@ public class AddImportActionTest extends LightJavaCodeInsightFixtureTestCase {
|
||||
""");
|
||||
}
|
||||
|
||||
public void testClassNameResolvesToVariableName() {
|
||||
myFixture.configureByText(JavaFileType.INSTANCE, """
|
||||
public class Base {
|
||||
private <caret>URL URL;
|
||||
|
||||
protected void test(URL url) {
|
||||
}
|
||||
}""");
|
||||
importClass();
|
||||
myFixture.checkResult("""
|
||||
import java.net.URL;
|
||||
|
||||
public class Base {
|
||||
private URL URL;
|
||||
|
||||
protected void test(URL url) {
|
||||
}
|
||||
}""");
|
||||
}
|
||||
|
||||
public void testMethodReference() {
|
||||
myFixture.configureByText(JavaFileType.INSTANCE, """
|
||||
public class Importing {
|
||||
|
||||
Reference in New Issue
Block a user