LLVM  6.0.0svn
DebugSubsection.h
Go to the documentation of this file.
1 //===- DebugSubsection.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 #ifndef LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENT_H
11 #define LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENT_H
12 
15 #include "llvm/Support/Casting.h"
16 
17 namespace llvm {
18 namespace codeview {
19 
21 public:
22  explicit DebugSubsectionRef(DebugSubsectionKind Kind) : Kind(Kind) {}
23  virtual ~DebugSubsectionRef();
24 
25  static bool classof(const DebugSubsectionRef *S) { return true; }
26 
27  DebugSubsectionKind kind() const { return Kind; }
28 
29 protected:
31 };
32 
34 public:
35  explicit DebugSubsection(DebugSubsectionKind Kind) : Kind(Kind) {}
36  virtual ~DebugSubsection();
37 
38  static bool classof(const DebugSubsection *S) { return true; }
39 
40  DebugSubsectionKind kind() const { return Kind; }
41 
42  virtual Error commit(BinaryStreamWriter &Writer) const = 0;
43  virtual uint32_t calculateSerializedSize() const = 0;
44 
45 protected:
47 };
48 
49 } // namespace codeview
50 } // namespace llvm
51 
52 #endif // LLVM_DEBUGINFO_CODEVIEW_MODULEDEBUGFRAGMENT_H
Compute iterated dominance frontiers using a linear time algorithm.
Definition: AllocatorList.h:24
DebugSubsection(DebugSubsectionKind Kind)
static bool classof(const DebugSubsectionRef *S)
static bool classof(const DebugSubsection *S)
Provides write only access to a subclass of WritableBinaryStream.
DebugSubsectionKind kind() const
Lightweight error class with error context and mandatory checking.
Definition: Error.h:156
DebugSubsectionKind kind() const
DebugSubsectionRef(DebugSubsectionKind Kind)