diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/DescriptorPredicate.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/DescriptorPredicate.java index 8a6ff5c1a29..1cea38fe111 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/DescriptorPredicate.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/DescriptorPredicate.java @@ -37,6 +37,10 @@ public abstract class DescriptorPredicate { public abstract boolean includeName(@NotNull Name name); + public boolean includeAnyName() { + return includeAll(); + } + public enum DescriptorKind { CLASS, CALLABLE_MEMBER, @@ -175,6 +179,11 @@ public abstract class DescriptorPredicate { return true; } + @Override + public boolean includeAnyName() { + return true; + } + @Override public boolean includeExtension(boolean extension) { return true; @@ -219,6 +228,11 @@ public abstract class DescriptorPredicate { public boolean includeName(@NotNull Name name) { return required.matches(name); } + + @Override + public boolean includeAnyName() { + return false; + } } public static DescriptorPredicate callableMembers(@NotNull NamePredicate required) { @@ -293,12 +307,17 @@ public abstract class DescriptorPredicate { } public NamePredicate asNamePredicate() { - return new NamePredicate() { - @Override - public boolean matches(@NotNull Name name) { - return includeName(name); - } - }; + if (includeAnyName()) { + return NamePredicate.all(); + } + else { + return new NamePredicate() { + @Override + public boolean matches(@NotNull Name name) { + return includeName(name); + } + }; + } } }