1 //===-- CompactTypeDumpVisitor.h - CodeView type info dumper ----*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_DEBUGINFO_CODEVIEW_COMPACTTYPEDUMPVISITOR_H
11 #define LLVM_DEBUGINFO_CODEVIEW_COMPACTTYPEDUMPVISITOR_H
13 #include "llvm/DebugInfo/CodeView/TypeIndex.h"
14 #include "llvm/DebugInfo/CodeView/TypeRecord.h"
15 #include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
25 /// Dumper for CodeView type streams found in COFF object files and PDB files.
26 /// Dumps records on a single line, and ignores member records.
27 class CompactTypeDumpVisitor : public codeview::TypeVisitorCallbacks {
29 CompactTypeDumpVisitor(codeview::TypeCollection &Types, ScopedPrinter *W);
30 CompactTypeDumpVisitor(codeview::TypeCollection &Types,
31 codeview::TypeIndex FirstTI, ScopedPrinter *W);
33 /// Paired begin/end actions for all types. Receives all record data,
34 /// including the fixed-length record prefix.
35 Error visitTypeBegin(codeview::CVType &Record) override;
36 Error visitTypeEnd(codeview::CVType &Record) override;
41 codeview::TypeIndex TI;
43 codeview::TypeCollection &Types;
46 } // end namespace pdb
47 } // end namespace llvm