1259698Sdim//===-- DWARFTypeUnit.h -----------------------------------------*- C++ -*-===//
2259698Sdim//
3259698Sdim//                     The LLVM Compiler Infrastructure
4259698Sdim//
5259698Sdim// This file is distributed under the University of Illinois Open Source
6259698Sdim// License. See LICENSE.TXT for details.
7259698Sdim//
8259698Sdim//===----------------------------------------------------------------------===//
9259698Sdim
10259698Sdim#ifndef LLVM_DEBUGINFO_DWARFTYPEUNIT_H
11259698Sdim#define LLVM_DEBUGINFO_DWARFTYPEUNIT_H
12259698Sdim
13259698Sdim#include "DWARFUnit.h"
14259698Sdim
15259698Sdimnamespace llvm {
16259698Sdim
17259698Sdimclass DWARFTypeUnit : public DWARFUnit {
18259698Sdimprivate:
19259698Sdim  uint64_t TypeHash;
20259698Sdim  uint32_t TypeOffset;
21259698Sdimpublic:
22259698Sdim  DWARFTypeUnit(const DWARFDebugAbbrev *DA, StringRef IS, StringRef AS,
23259698Sdim                StringRef RS, StringRef SS, StringRef SOS, StringRef AOS,
24259698Sdim                const RelocAddrMap *M, bool LE)
25259698Sdim      : DWARFUnit(DA, IS, AS, RS, SS, SOS, AOS, M, LE) {}
26259698Sdim  uint32_t getSize() const LLVM_OVERRIDE { return DWARFUnit::getSize() + 12; }
27259698Sdim  void dump(raw_ostream &OS);
28259698Sdimprotected:
29259698Sdim  bool extractImpl(DataExtractor debug_info, uint32_t *offset_ptr) LLVM_OVERRIDE;
30259698Sdim};
31259698Sdim
32259698Sdim}
33259698Sdim
34259698Sdim#endif
35259698Sdim
36