Find the classpath boundary for being assignable to an interface.
Test: verifier_deps_test, test-art-host
Change-Id: Icab3a5a9f94f6a38fa8ef320f93ac14691a732d3
diff --git a/runtime/verifier/verifier_deps.h b/runtime/verifier/verifier_deps.h
index 4b8206f..11750fd 100644
--- a/runtime/verifier/verifier_deps.h
+++ b/runtime/verifier/verifier_deps.h
@@ -204,6 +204,13 @@
bool IsInClassPath(ObjPtr<mirror::Class> klass) const
REQUIRES_SHARED(Locks::mutator_lock_);
+ // Finds the class in the classpath that makes `source` inherit` from `destination`.
+ // Returns null if a class defined in the compiled DEX files, and assignable to
+ // `source`, direclty inherits from `destination`.
+ mirror::Class* FindOneClassPathBoundaryForInterface(mirror::Class* destination,
+ mirror::Class* source) const
+ REQUIRES_SHARED(Locks::mutator_lock_);
+
// Returns the index of `str`. If it is defined in `dex_file_`, this is the dex
// string ID. If not, an ID is assigned to the string and cached in `strings_`
// of the corresponding DexFileDeps structure (either provided or inferred from