From c20d7f639e7e717f59fccf987dea81ae4562a206 Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 17 Jan 2012 18:16:45 +0100 Subject: [PATCH] the selected item shouldn't necessarily be a class when I'm typing a class name --- .../completion/JavaCharFilter.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) 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; }