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