diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCharFilter.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCharFilter.java index 1c17d3eb3c4b..a27fc2f95240 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaCharFilter.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaCharFilter.java @@ -52,16 +52,19 @@ public class JavaCharFilter extends CharFilter { PsiFile file = lookup.getPsiFile(); if (file == null) return false; - - Object o = item.getObject(); - if (o instanceof PsiClass && ((PsiClass)o).getName().length() > lookup.itemPattern(item).length()) { - for (PsiClass aClass : PsiShortNamesCache.getInstance(file.getProject()).getClassesByName(lookup.itemPattern(item), file.getResolveScope())) { - if (!isObfuscated(aClass)) { - return true; - } + + final String prefix = lookup.itemPattern(item); + for (String s : item.getAllLookupStrings()) { + if (s.equalsIgnoreCase(prefix)) { + return false; } } - + for (PsiClass aClass : PsiShortNamesCache.getInstance(file.getProject()).getClassesByName(prefix, file.getResolveScope())) { + if (!isObfuscated(aClass)) { + return true; + } + } + return false; }