Optimize HasSuperMethodMatcher logic

Instead of filtering then iterating, just iterate through everything and apply filter inline.

This will help avoid allocation for filter iterator and improve if early match is found.
This commit is contained in:
Tyler Benson 2020-01-07 17:10:01 -08:00
parent 8500dbc2ba
commit 5e8af8439a
1 changed files with 2 additions and 3 deletions

View File

@ -328,9 +328,8 @@ public class ByteBuddyElementMatchers {
final Set<TypeDefinition> checkedInterfaces = new HashSet<>();
while (declaringType != null) {
for (final MethodDescription methodDescription :
declaringType.getDeclaredMethods().filter(signatureMatcher)) {
if (matcher.matches(methodDescription)) {
for (final MethodDescription methodDescription : declaringType.getDeclaredMethods()) {
if (signatureMatcher.matches(methodDescription) && matcher.matches(methodDescription)) {
return true;
}
}