LLVM  9.0.0svn
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 
17 #include <memory>
18 
19 namespace llvm {
20 namespace yaml {
21 
22 class IO;
23 
25  std::unique_ptr<ELFYAML::Object> Elf;
26  std::unique_ptr<COFFYAML::Object> Coff;
27  std::unique_ptr<MachOYAML::Object> MachO;
28  std::unique_ptr<MachOYAML::UniversalBinary> FatMachO;
29  std::unique_ptr<WasmYAML::Object> Wasm;
30 };
31 
32 template <> struct MappingTraits<YamlObjectFile> {
33  static void mapping(IO &IO, YamlObjectFile &ObjectFile);
34 };
35 
36 } // end namespace yaml
37 } // end namespace llvm
38 
39 #endif // LLVM_OBJECTYAML_OBJECTYAML_H
This file declares classes for handling the YAML representation of ELF.
This class represents lattice values for constants.
Definition: AllocatorList.h:23
std::unique_ptr< COFFYAML::Object > Coff
Definition: ObjectYAML.h:26
This file declares classes for handling the YAML representation of wasm binaries. ...
std::unique_ptr< MachOYAML::Object > MachO
Definition: ObjectYAML.h:27
This file declares classes for handling the YAML representation of Mach-O.
std::unique_ptr< MachOYAML::UniversalBinary > FatMachO
Definition: ObjectYAML.h:28
std::unique_ptr< WasmYAML::Object > Wasm
Definition: ObjectYAML.h:29
std::unique_ptr< ELFYAML::Object > Elf
Definition: ObjectYAML.h:25