[CallSite removal] Port `IndirectCallSiteVisitor` to use `CallBase` and
[llvm-complete.git] / tools / obj2yaml / obj2yaml.h
blob3e96659462b09040f1d79a69c70cc2de3300634f
1 //===------ utils/obj2yaml.hpp - obj2yaml conversion tool -------*- 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 // This file declares some helper routines, and also the format-specific
9 // writers. To add a new format, add the declaration here, and, in a separate
10 // source file, implement it.
11 //===----------------------------------------------------------------------===//
13 #ifndef LLVM_TOOLS_OBJ2YAML_OBJ2YAML_H
14 #define LLVM_TOOLS_OBJ2YAML_OBJ2YAML_H
16 #include "llvm/Object/COFF.h"
17 #include "llvm/Object/Wasm.h"
18 #include "llvm/Support/raw_ostream.h"
19 #include <system_error>
21 std::error_code coff2yaml(llvm::raw_ostream &Out,
22 const llvm::object::COFFObjectFile &Obj);
23 std::error_code elf2yaml(llvm::raw_ostream &Out,
24 const llvm::object::ObjectFile &Obj);
25 std::error_code macho2yaml(llvm::raw_ostream &Out,
26 const llvm::object::Binary &Obj);
27 std::error_code wasm2yaml(llvm::raw_ostream &Out,
28 const llvm::object::WasmObjectFile &Obj);
30 // Forward decls for dwarf2yaml
31 namespace llvm {
32 class DWARFContext;
33 namespace DWARFYAML {
34 struct Data;
38 std::error_code dwarf2yaml(llvm::DWARFContext &DCtx, llvm::DWARFYAML::Data &Y);
40 #endif