this repo has no description
at trunk 37 lines 701 B view raw
1/* Copyright (c) Facebook, Inc. and its affiliates. (http://www.facebook.com) */ 2#pragma once 3 4namespace py { 5 6class RawObject; 7class RawHeapObject; 8 9enum class PointerKind { 10 kRuntime, 11 kThread, 12 kHandle, 13 kStack, 14 kApiHandle, 15 kUnknown, 16 kLayout, 17}; 18 19class PointerVisitor { 20 public: 21 virtual void visitPointer(RawObject* pointer, PointerKind kind) = 0; 22 virtual ~PointerVisitor() = default; 23}; 24 25class HeapObjectVisitor { 26 public: 27 virtual void visitHeapObject(RawHeapObject object) = 0; 28 virtual ~HeapObjectVisitor() = default; 29}; 30 31class HandleVisitor { 32 public: 33 virtual void visitHandle(void* handle, RawObject object) = 0; 34 virtual ~HandleVisitor() = default; 35}; 36 37} // namespace py