frontend: optimize DescriptorPredicate.asNamePredicate
This commit is contained in:
+25
-6
@@ -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);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user