message: combinator to resolve methods
  Summary:
  Converts a predicate for `DexMethod*` into a predicate for a `DexMethodRef*` by
  looking it up.
diff: #include "IRInstruction.h"
  #include "MethodUtil.h"
  #include "ReachableClasses.h"
  +#include "Resolver.h"
  namespace m {
  @@ -436,6 +437,18 @@ inline auto member_of(match_t<DexType*, P> p) {
  });
  }
  +/** Predicate on a method after it is resolved. */
  +template <typename P>
  +inline auto resolve_method(MethodSearch ms, match_t<DexMethod*, P> p) {
  + return matcher<DexMethodRef*>([ms, p = std::move(p)](const DexMethodRef* mr) {
  + // resolve_method accepts a non-const DexMethodRef* to return a non-const
  + // DexMethod*. const_cast is safe to get around that as the return value
  + // is treated as const.
  + const auto* m = resolve_method(const_cast<DexMethodRef*>(mr), ms);
  + return m && p.matches(m);
  + });
  +}
  +
  /** Match classes that have class data */
  inline auto has_class_data() {
  return matcher<DexClass*>(
  