Don't complete packages for Java static classes in package directive.
This commit is contained in:
@@ -177,7 +177,17 @@ public final class TipsManager {
|
|||||||
return Collections2.filter(descriptors, new Predicate<DeclarationDescriptor>() {
|
return Collections2.filter(descriptors, new Predicate<DeclarationDescriptor>() {
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(DeclarationDescriptor declarationDescriptor) {
|
public boolean apply(DeclarationDescriptor declarationDescriptor) {
|
||||||
return declarationDescriptor instanceof NamespaceDescriptor;
|
if (declarationDescriptor instanceof NamespaceDescriptor) {
|
||||||
|
// Heuristic: we don't want to complete "System" in "package java.lang.Sys",
|
||||||
|
// so we find class of the same name as namespace, we exclude this namespace
|
||||||
|
DeclarationDescriptor parent = declarationDescriptor.getContainingDeclaration();
|
||||||
|
if (parent instanceof NamespaceDescriptor) {
|
||||||
|
JetScope parentScope = ((NamespaceDescriptor) parent).getMemberScope();
|
||||||
|
return parentScope.getClassifier(declarationDescriptor.getName()) == null;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user