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;
}