LLVM 19.0.0git
DebugSymbolsSubsection.cpp
Go to the documentation of this file.
1//===- DebugSymbolsSubsection.cpp -------------------------------*- 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
11
12using namespace llvm;
13using namespace llvm::codeview;
14
16 return Reader.readArray(Records, Reader.getLength());
17}
18
20 return Length;
21}
22
24 for (const auto &Record : Records) {
25 if (auto EC = Writer.writeBytes(Record.RecordData))
26 return EC;
27 }
28 return Error::success();
29}
30
32 Records.push_back(Symbol);
33 Length += Symbol.length();
34}
Provides read only access to a subclass of BinaryStream.
Error readArray(ArrayRef< T > &Array, uint32_t NumElements)
Get a reference to a NumElements element array of objects of type T from the underlying stream as if ...
Provides write only access to a subclass of WritableBinaryStream.
Error writeBytes(ArrayRef< uint8_t > Buffer)
Write the bytes specified in Buffer to the underlying stream.
Lightweight error class with error context and mandatory checking.
Definition: Error.h:160
static ErrorSuccess success()
Create a success value.
Definition: Error.h:334
CVRecord is a fat pointer (base + size pair) to a symbol or type record.
Definition: CVRecord.h:29
Error initialize(BinaryStreamReader Reader)
Error commit(BinaryStreamWriter &Writer) const override
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18