diff options
author | 2015-07-28 17:23:28 -0700 | |
---|---|---|
committer | 2015-07-29 10:01:59 -0700 | |
commit | e0671ce5a6cb34e44e3afefa8e29c0c3e30d2855 (patch) | |
tree | 124d68a72435aebb5698e068c12555f121282cca /runtime/class_table.h | |
parent | aac046772b6d0b8dd23f3296fd82b29ef35dca25 (diff) |
Clean up class visitors
Move from function pointers to virtual function visitors.
Change-Id: I68cb83c1d2ed9b5a89f8e534fe7ca4bbc1c91f45
Diffstat (limited to 'runtime/class_table.h')
-rw-r--r-- | runtime/class_table.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/runtime/class_table.h b/runtime/class_table.h index af25131ab4..252a47dd25 100644 --- a/runtime/class_table.h +++ b/runtime/class_table.h @@ -36,7 +36,12 @@ namespace mirror { class ClassLoader; } // namespace mirror -typedef bool (ClassVisitor)(mirror::Class* c, void* arg); +class ClassVisitor { + public: + virtual ~ClassVisitor() {} + // Return true to continue visiting. + virtual bool Visit(mirror::Class* klass) = 0; +}; // Each loader has a ClassTable class ClassTable { @@ -66,7 +71,7 @@ class ClassTable { REQUIRES(Locks::classlinker_classes_lock_) SHARED_REQUIRES(Locks::mutator_lock_); // Return false if the callback told us to exit. - bool Visit(ClassVisitor* visitor, void* arg) + bool Visit(ClassVisitor* visitor) REQUIRES(Locks::classlinker_classes_lock_) SHARED_REQUIRES(Locks::mutator_lock_); mirror::Class* Lookup(const char* descriptor, size_t hash) |