From 60d1ce4c3d1af7b3c26346eb5c06d0fdf375c678 Mon Sep 17 00:00:00 2001 From: Roman Ivanov Date: Mon, 28 Aug 2023 22:03:26 +0200 Subject: [PATCH] [java, resolve] make java lang Object as super for unnamed class GitOrigin-RevId: dc4c8721735f98d494595cc6f03f97bd9e04d0a8 --- .../src/com/intellij/psi/impl/source/PsiUnnamedClassImpl.java | 4 +++- .../daemonCodeAnalyzer/unnamedClass/HashCodeInMethod.java | 3 +++ .../java/codeInsight/daemon/UnnamedClassHighlightingTest.kt | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnamedClass/HashCodeInMethod.java diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiUnnamedClassImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiUnnamedClassImpl.java index 55d47b8039e2..72f4feeb6d7f 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiUnnamedClassImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/PsiUnnamedClassImpl.java @@ -14,6 +14,7 @@ import com.intellij.psi.impl.light.LightEmptyImplementsList; import com.intellij.psi.impl.light.LightReferenceListBuilder; import com.intellij.psi.javadoc.PsiDocComment; import com.intellij.psi.scope.PsiScopeProcessor; +import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.LocalSearchScope; import com.intellij.psi.search.SearchScope; import com.intellij.psi.util.PsiUtil; @@ -89,7 +90,8 @@ public class PsiUnnamedClassImpl extends JavaStubPsiElement> imp @Override public PsiClass @NotNull [] getSupers() { - return PsiClass.EMPTY_ARRAY; + JavaPsiFacade facade = JavaPsiFacade.getInstance(getProject()); + return new PsiClass[]{facade.findClass(CommonClassNames.JAVA_LANG_OBJECT, GlobalSearchScope.allScope(getProject()))}; } @Override diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnamedClass/HashCodeInMethod.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnamedClass/HashCodeInMethod.java new file mode 100644 index 000000000000..912318525a8d --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/unnamedClass/HashCodeInMethod.java @@ -0,0 +1,3 @@ +void main() { + hashCode(); +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/UnnamedClassHighlightingTest.kt b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/UnnamedClassHighlightingTest.kt index 262abb300bda..53168a5f91c9 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/UnnamedClassHighlightingTest.kt +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/daemon/UnnamedClassHighlightingTest.kt @@ -24,6 +24,10 @@ class UnnamedClassHighlightingTest : LightJavaCodeInsightFixtureTestCase() { doTest() } + fun testHashCodeInMethod() { + doTest() + } + private fun doTest() { myFixture.configureByFile(getTestName(false) + ".java") myFixture.checkHighlighting()