diff options
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) |