1 //===-- GOFFYAML.cpp - GOFF YAMLIO implementation ---------------*- 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 // This file defines classes for handling the YAML representation of GOFF. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #include "llvm/ObjectYAML/GOFFYAML.h" 14 15 namespace llvm { 16 namespace GOFFYAML { 17 18 Object::Object() {} 19 20 } // namespace GOFFYAML 21 22 namespace yaml { 23 24 void MappingTraits<GOFFYAML::FileHeader>::mapping( 25 IO &IO, GOFFYAML::FileHeader &FileHdr) { 26 IO.mapOptional("TargetEnvironment", FileHdr.TargetEnvironment, 0); 27 IO.mapOptional("TargetOperatingSystem", FileHdr.TargetOperatingSystem, 0); 28 IO.mapOptional("CCSID", FileHdr.CCSID, 0); 29 IO.mapOptional("CharacterSetName", FileHdr.CharacterSetName, ""); 30 IO.mapOptional("LanguageProductIdentifier", FileHdr.LanguageProductIdentifier, 31 ""); 32 IO.mapOptional("ArchitectureLevel", FileHdr.ArchitectureLevel, 1); 33 IO.mapOptional("InternalCCSID", FileHdr.InternalCCSID); 34 IO.mapOptional("TargetSoftwareEnvironment", 35 FileHdr.TargetSoftwareEnvironment); 36 } 37 38 void MappingTraits<GOFFYAML::Object>::mapping(IO &IO, GOFFYAML::Object &Obj) { 39 IO.mapTag("!GOFF", true); 40 IO.mapRequired("FileHeader", Obj.Header); 41 } 42 43 } // namespace yaml 44 } // namespace llvm 45