LLVM 19.0.0git
DebugSubsection.h
Go to the documentation of this file.
1//===- DebugSubsection.h ------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_DEBUGINFO_CODEVIEW_DEBUGSUBSECTION_H
10#define LLVM_DEBUGINFO_CODEVIEW_DEBUGSUBSECTION_H
11
13#include "llvm/Support/Error.h"
14
15#include <cstdint>
16
17namespace llvm {
18class BinaryStreamWriter;
19namespace codeview {
20
22public:
25
26 static bool classof(const DebugSubsectionRef *S) { return true; }
27
28 DebugSubsectionKind kind() const { return Kind; }
29
30protected:
32};
33
35public:
38
39 static bool classof(const DebugSubsection *S) { return true; }
40
41 DebugSubsectionKind kind() const { return Kind; }
42
43 virtual Error commit(BinaryStreamWriter &Writer) const = 0;
44 virtual uint32_t calculateSerializedSize() const = 0;
45
46protected:
48};
49
50} // namespace codeview
51} // namespace llvm
52
53#endif // LLVM_DEBUGINFO_CODEVIEW_DEBUGSUBSECTION_H
Provides write only access to a subclass of WritableBinaryStream.
Lightweight error class with error context and mandatory checking.
Definition: Error.h:160
static bool classof(const DebugSubsectionRef *S)
DebugSubsectionKind kind() const
DebugSubsectionRef(DebugSubsectionKind Kind)
DebugSubsection(DebugSubsectionKind Kind)
DebugSubsectionKind kind() const
virtual uint32_t calculateSerializedSize() const =0
static bool classof(const DebugSubsection *S)
virtual Error commit(BinaryStreamWriter &Writer) const =0
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18