LLVM 19.0.0git
ObjectYAML.h
Go to the documentation of this file.
1//===- ObjectYAML.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_OBJECTYAML_OBJECTYAML_H
10#define LLVM_OBJECTYAML_OBJECTYAML_H
11
23#include <memory>
24
25namespace llvm {
26namespace yaml {
27
28class IO;
29
31 std::unique_ptr<ArchYAML::Archive> Arch;
32 std::unique_ptr<ELFYAML::Object> Elf;
33 std::unique_ptr<COFFYAML::Object> Coff;
34 std::unique_ptr<GOFFYAML::Object> Goff;
35 std::unique_ptr<MachOYAML::Object> MachO;
36 std::unique_ptr<MachOYAML::UniversalBinary> FatMachO;
37 std::unique_ptr<MinidumpYAML::Object> Minidump;
38 std::unique_ptr<OffloadYAML::Binary> Offload;
39 std::unique_ptr<WasmYAML::Object> Wasm;
40 std::unique_ptr<XCOFFYAML::Object> Xcoff;
41 std::unique_ptr<DXContainerYAML::Object> DXContainer;
42};
43
44template <> struct MappingTraits<YamlObjectFile> {
45 static void mapping(IO &IO, YamlObjectFile &ObjectFile);
46};
47
48} // end namespace yaml
49} // end namespace llvm
50
51#endif // LLVM_OBJECTYAML_OBJECTYAML_H
This file declares classes for handling the YAML representation of archives.
This file declares classes for handling the YAML representation of DXContainer.
This file declares classes for handling the YAML representation of ELF.
This file declares classes for handling the YAML representation of Mach-O.
This file declares classes for handling the YAML representation of offloading binaries.
This file declares classes for handling the YAML representation of wasm binaries.
This class is the base class for all object file types.
Definition: ObjectFile.h:229
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
static void mapping(IO &IO, YamlObjectFile &ObjectFile)
std::unique_ptr< MachOYAML::UniversalBinary > FatMachO
Definition: ObjectYAML.h:36
std::unique_ptr< XCOFFYAML::Object > Xcoff
Definition: ObjectYAML.h:40
std::unique_ptr< OffloadYAML::Binary > Offload
Definition: ObjectYAML.h:38
std::unique_ptr< MachOYAML::Object > MachO
Definition: ObjectYAML.h:35
std::unique_ptr< ArchYAML::Archive > Arch
Definition: ObjectYAML.h:31
std::unique_ptr< COFFYAML::Object > Coff
Definition: ObjectYAML.h:33
std::unique_ptr< ELFYAML::Object > Elf
Definition: ObjectYAML.h:32
std::unique_ptr< GOFFYAML::Object > Goff
Definition: ObjectYAML.h:34
std::unique_ptr< WasmYAML::Object > Wasm
Definition: ObjectYAML.h:39
std::unique_ptr< DXContainerYAML::Object > DXContainer
Definition: ObjectYAML.h:41
std::unique_ptr< MinidumpYAML::Object > Minidump
Definition: ObjectYAML.h:37