LLVM API Documentation

DWARFTypeUnit.h
Go to the documentation of this file.
00001 //===-- DWARFTypeUnit.h -----------------------------------------*- C++ -*-===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 
00010 #ifndef LLVM_LIB_DEBUGINFO_DWARFTYPEUNIT_H
00011 #define LLVM_LIB_DEBUGINFO_DWARFTYPEUNIT_H
00012 
00013 #include "DWARFUnit.h"
00014 
00015 namespace llvm {
00016 
00017 class DWARFTypeUnit : public DWARFUnit {
00018 private:
00019   uint64_t TypeHash;
00020   uint32_t TypeOffset;
00021 public:
00022   DWARFTypeUnit(DWARFContext &Context, const DWARFDebugAbbrev *DA,
00023                 StringRef IS, StringRef RS, StringRef SS, StringRef SOS,
00024                 StringRef AOS, const RelocAddrMap *M, bool LE,
00025                 const DWARFUnitSectionBase &UnitSection)
00026     : DWARFUnit(Context, DA, IS, RS, SS, SOS, AOS, M, LE, UnitSection) {}
00027   uint32_t getHeaderSize() const override {
00028     return DWARFUnit::getHeaderSize() + 12;
00029   }
00030   void dump(raw_ostream &OS);
00031 protected:
00032   bool extractImpl(DataExtractor debug_info, uint32_t *offset_ptr) override;
00033 };
00034 
00035 }
00036 
00037 #endif
00038