1 //===- DWARFYAML.cpp - DWARF YAMLIO implementation ------------------------===// 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 //===----------------------------------------------------------------------===// 9 // 10 // This file defines classes for handling the YAML representation of DWARF Debug 11 // Info. 12 // 13 //===----------------------------------------------------------------------===// 14 15 #include "llvm/ObjectYAML/DWARFYAML.h" 16 17 namespace llvm { 18 19 bool DWARFYAML::Data::isEmpty() const { 20 return 0 == DebugStrings.size() + AbbrevDecls.size(); 21 } 22 23 namespace yaml { 24 25 void MappingTraits<DWARFYAML::Data>::mapping( 26 IO &IO, DWARFYAML::Data &DWARF) { 27 IO.mapOptional("debug_str", DWARF.DebugStrings); 28 IO.mapOptional("debug_abbrev", DWARF.AbbrevDecls); 29 } 30 31 void MappingTraits<DWARFYAML::Abbrev>::mapping( 32 IO &IO, DWARFYAML::Abbrev &Abbrev) { 33 IO.mapRequired("Code", Abbrev.Code); 34 IO.mapRequired("Tag", Abbrev.Tag); 35 IO.mapRequired("Children", Abbrev.Children); 36 IO.mapRequired("Attributes", Abbrev.Attributes); 37 } 38 39 void MappingTraits<DWARFYAML::AttributeAbbrev>::mapping( 40 IO &IO, DWARFYAML::AttributeAbbrev &AttAbbrev) { 41 IO.mapRequired("Attribute", AttAbbrev.Attribute); 42 IO.mapRequired("Form", AttAbbrev.Form); 43 } 44 45 } // namespace llvm::yaml 46 47 } // namespace llvm 48