message: Fix Deleter service allowing deletion of referenced methods
  Summary: Annotations can hold method references. Prevent Deleter from deleting methods referenced by annotations (e.g. EnclosingMethod)
diff: @@ -29,6 +29,19 @@ size_t delete_methods(
  }
  });
  + // if a removable candidate is referenced by an annotation do not delete
  + walk::annotations(scope, [&](DexAnnotation* anno) {
  + for (auto anno_element : anno->anno_elems()) {
  + auto ev = anno_element.encoded_value;
  + if (ev->evtype() == DEVT_METHOD) {
  + DexEncodedValueMethod* evm = static_cast<DexEncodedValueMethod*>(ev);
  + if (evm->method()->is_def()) {
  + removable.erase(evm->method()->as_def());
  + }
  + }
  + }
  + });
  +
  size_t deleted = 0;
  for (auto callee : removable) {
  if (!callee->is_concrete()) continue;
  