1f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//===- CodeViewYAMLSymbols.h - CodeView YAMLIO Symbol implementation ------===//
2f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//
3f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//                     The LLVM Compiler Infrastructure
4f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//
5f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// This file is distributed under the University of Illinois Open Source
6f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// License. See LICENSE.TXT for details.
7f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//
8f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//===----------------------------------------------------------------------===//
9f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//
10f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// This file defines classes for handling the YAML representation of CodeView
11f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot// Debug Info.
12f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//
13f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot//===----------------------------------------------------------------------===//
14f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
15f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#ifndef LLVM_OBJECTYAML_CODEVIEWYAMLSYMBOLS_H
16f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#define LLVM_OBJECTYAML_CODEVIEWYAMLSYMBOLS_H
17f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
18f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include "llvm/DebugInfo/CodeView/CodeView.h"
19f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
20f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#include "llvm/ObjectYAML/YAML.h"
21f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
22f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotnamespace llvm {
23f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotnamespace CodeViewYAML {
24f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotnamespace detail {
25f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotstruct SymbolRecordBase;
26f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot}
27f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
28f3014761c955345d6e05491608e73228d014afbandroid-build-team Robotstruct SymbolRecord {
29f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot  std::shared_ptr<detail::SymbolRecordBase> Symbol;
30f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
31f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot  codeview::CVSymbol
32f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot  toCodeViewSymbol(BumpPtrAllocator &Allocator,
33f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot                   codeview::CodeViewContainer Container) const;
34f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot  static Expected<SymbolRecord> fromCodeViewSymbol(codeview::CVSymbol Symbol);
35f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot};
36f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
37f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot} // namespace CodeViewYAML
38f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot} // namespace llvm
39f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
40f3014761c955345d6e05491608e73228d014afbandroid-build-team RobotLLVM_YAML_DECLARE_MAPPING_TRAITS(CodeViewYAML::SymbolRecord)
41f3014761c955345d6e05491608e73228d014afbandroid-build-team RobotLLVM_YAML_IS_SEQUENCE_VECTOR(CodeViewYAML::SymbolRecord)
42f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot
43f3014761c955345d6e05491608e73228d014afbandroid-build-team Robot#endif
44