1 | // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 | // for details. All rights reserved. Use of this source code is governed by a |
3 | // BSD-style license that can be found in the LICENSE file. |
4 | |
5 | #ifndef RUNTIME_VM_HANDLE_VISITOR_H_ |
6 | #define RUNTIME_VM_HANDLE_VISITOR_H_ |
7 | |
8 | #include "vm/allocation.h" |
9 | #include "vm/flags.h" |
10 | #include "vm/os.h" |
11 | |
12 | namespace dart { |
13 | |
14 | class Thread; |
15 | |
16 | class HandleVisitor { |
17 | public: |
18 | explicit HandleVisitor(Thread* thread) : thread_(thread) {} |
19 | virtual ~HandleVisitor() {} |
20 | |
21 | Thread* thread() const { return thread_; } |
22 | |
23 | virtual void VisitHandle(uword addr) = 0; |
24 | |
25 | private: |
26 | Thread* thread_; |
27 | |
28 | DISALLOW_IMPLICIT_CONSTRUCTORS(HandleVisitor); |
29 | }; |
30 | |
31 | } // namespace dart |
32 | |
33 | #endif // RUNTIME_VM_HANDLE_VISITOR_H_ |
34 | |