mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
java completion: don't show classes with dollar in the name (IDEA-247596)
GitOrigin-RevId: d03af1f63b6b274deeb466f757d0db80feb4606b
This commit is contained in:
committed by
intellij-monorepo-bot
parent
55ee09eada
commit
9edb4d5fb8
+2
-1
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.intellij.codeInsight.completion;
|
||||
|
||||
import com.intellij.codeInsight.completion.scope.JavaCompletionProcessor;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.util.registry.Registry;
|
||||
import com.intellij.psi.PsiClass;
|
||||
@@ -65,7 +66,7 @@ class LimitedAccessibleClassPreprocessor implements Processor<PsiClass> {
|
||||
@Override
|
||||
public boolean process(PsiClass psiClass) {
|
||||
if (myParameters.getInvocationCount() < 2) {
|
||||
if (PsiReferenceExpressionImpl.seemsScrambled(psiClass)) {
|
||||
if (PsiReferenceExpressionImpl.seemsScrambled(psiClass) || JavaCompletionProcessor.seemsInternal(psiClass)) {
|
||||
return true;
|
||||
}
|
||||
String name = psiClass.getName();
|
||||
|
||||
+11
@@ -26,6 +26,7 @@ import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.containers.hash.LinkedHashMap;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -107,6 +108,12 @@ public class JavaCompletionProcessor implements PsiScopeProcessor, ElementClassH
|
||||
Registry.is("ide.java.completion.suggest.static.after.instance");
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
public static boolean seemsInternal(PsiClass clazz) {
|
||||
String name = clazz.getName();
|
||||
return name != null && name.contains("$");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleEvent(@NotNull Event event, Object associated){
|
||||
if (JavaScopeProcessorEvent.isEnteringStaticScope(event, associated)) {
|
||||
@@ -134,6 +141,10 @@ public class JavaCompletionProcessor implements PsiScopeProcessor, ElementClassH
|
||||
}
|
||||
}
|
||||
|
||||
if (element instanceof PsiClass && seemsInternal((PsiClass) element)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (element instanceof PsiMethod) {
|
||||
PsiMethod method = (PsiMethod)element;
|
||||
if (PsiTypesUtil.isGetClass(method) && PsiUtil.isLanguageLevel5OrHigher(myElement)) {
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
import imported.*;
|
||||
|
||||
class C {
|
||||
WithD<caret>
|
||||
}
|
||||
+6
@@ -1728,6 +1728,12 @@ class Foo extends myClass
|
||||
'''
|
||||
}
|
||||
|
||||
void testNoClassesWithDollar() {
|
||||
myFixture.addClass('package some; public class $WithDollarNonImported {}')
|
||||
myFixture.addClass('package imported; public class $WithDollarImported {}')
|
||||
doAntiTest()
|
||||
}
|
||||
|
||||
@NeedsIndex.ForStandardLibrary
|
||||
void "test don't show static inner class after instance qualifier"() {
|
||||
myFixture.configureByText "a.java", """
|
||||
|
||||
Reference in New Issue
Block a user