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
12namespace dart {
13
14class Thread;
15
16class 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