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