diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/TipsManager.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/TipsManager.java index 70c1c439805..94730a05111 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/TipsManager.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/TipsManager.java @@ -177,7 +177,17 @@ public final class TipsManager { return Collections2.filter(descriptors, new Predicate() { @Override 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; } }); }