bd888f74f2a4ff79f403dbbdadae2658d342ef04
[oota-llvm.git] / include / llvm / DebugInfo / DIContext.h
1 //===-- DIContext.h ---------------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file defines DIContext, and abstract data structure that holds
11 // debug information data.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef LLVM_DEBUGINFO_DICONTEXT_H
16 #define LLVM_DEBUGINFO_DICONTEXT_H
17
18 #include "llvm/ADT/StringRef.h"
19
20 namespace llvm {
21
22 class raw_ostream;
23
24 class DIContext {
25 public:
26   virtual ~DIContext();
27
28   /// getDWARFContext - get a context for binary DWARF data.
29   static DIContext *getDWARFContext(bool isLittleEndian,
30                                     StringRef infoSection,
31                                     StringRef abbrevSection,
32                                     StringRef aRangeSection = StringRef(),
33                                     StringRef lineSection = StringRef(),
34                                     StringRef stringSection = StringRef());
35
36   virtual void dump(raw_ostream &OS) = 0;
37 };
38
39 }
40
41 #endif