Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Intellij Community
Commits
e7078f24
Commit
e7078f24
authored
12 years ago
by
peter
Browse files
Options
Download
Email Patches
Plain Diff
don't create class lookup element for noname classes (EA-41335)
parent
0e906a07
Branches unavailable
Tags unavailable
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
java/java-impl/src/com/intellij/codeInsight/lookup/PsiTypeLookupItem.java
+22
-19
...rc/com/intellij/codeInsight/lookup/PsiTypeLookupItem.java
with
22 additions
and
19 deletions
+22
-19
java/java-impl/src/com/intellij/codeInsight/lookup/PsiTypeLookupItem.java
+
22
-
19
View file @
e7078f24
...
...
@@ -28,6 +28,7 @@ import com.intellij.psi.impl.DebugUtil;
import
com.intellij.psi.impl.source.PostprocessReformattingAspect
;
import
com.intellij.psi.impl.source.PsiClassReferenceType
;
import
com.intellij.psi.util.PsiUtil
;
import
com.intellij.util.ArrayUtil
;
import
org.jetbrains.annotations.NonNls
;
import
org.jetbrains.annotations.NotNull
;
import
org.jetbrains.annotations.Nullable
;
...
...
@@ -213,27 +214,29 @@ public class PsiTypeLookupItem extends LookupItem {
final
PsiClass
psiClass
=
classResolveResult
.
getElement
();
if
(
psiClass
!=
null
)
{
final
PsiSubstitutor
substitutor
=
classResolveResult
.
getSubstitutor
();
PsiClass
resolved
=
JavaPsiFacade
.
getInstance
(
psiClass
.
getProject
()).
getResolveHelper
().
resolveReferencedClass
(
psiClass
.
getName
(),
context
);
Set
<
String
>
allStrings
=
new
HashSet
<
String
>();
String
lookupString
=
psiClass
.
getName
();
allStrings
.
add
(
lookupString
);
if
(!
psiClass
.
getManager
().
areElementsEquivalent
(
resolved
,
psiClass
)
&&
!
PsiUtil
.
isInnerClass
(
psiClass
))
{
// inner class name should be shown qualified if its not accessible by single name
PsiClass
aClass
=
psiClass
.
getContainingClass
();
while
(
aClass
!=
null
&&
!
PsiUtil
.
isInnerClass
(
aClass
))
{
lookupString
=
aClass
.
getName
()
+
'.'
+
lookupString
;
allStrings
.
add
(
lookupString
);
aClass
=
aClass
.
getContainingClass
();
String
name
=
psiClass
.
getName
();
if
(
name
!=
null
)
{
final
PsiSubstitutor
substitutor
=
classResolveResult
.
getSubstitutor
();
PsiClass
resolved
=
JavaPsiFacade
.
getInstance
(
psiClass
.
getProject
()).
getResolveHelper
().
resolveReferencedClass
(
name
,
context
);
Set
<
String
>
allStrings
=
new
HashSet
<
String
>();
allStrings
.
add
(
name
);
if
(!
psiClass
.
getManager
().
areElementsEquivalent
(
resolved
,
psiClass
)
&&
!
PsiUtil
.
isInnerClass
(
psiClass
))
{
// inner class name should be shown qualified if its not accessible by single name
PsiClass
aClass
=
psiClass
.
getContainingClass
();
while
(
aClass
!=
null
&&
!
PsiUtil
.
isInnerClass
(
aClass
))
{
name
=
aClass
.
getName
()
+
'.'
+
name
;
allStrings
.
add
(
name
);
aClass
=
aClass
.
getContainingClass
();
}
}
}
PsiTypeLookupItem
item
=
new
PsiTypeLookupItem
(
psiClass
,
lookupString
,
diamond
,
bracketsCount
,
importFixer
);
item
.
addLookupStrings
(
allStrings
.
toArray
(
new
String
[
allStrings
.
size
()]));
item
.
setAttribute
(
SUBSTITUTOR
,
substitutor
);
return
item
;
PsiTypeLookupItem
item
=
new
PsiTypeLookupItem
(
psiClass
,
name
,
diamond
,
bracketsCount
,
importFixer
);
item
.
addLookupStrings
(
ArrayUtil
.
toStringArray
(
allStrings
));
item
.
setAttribute
(
SUBSTITUTOR
,
substitutor
);
return
item
;
}
}
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help