1*fd6e19cdSYusra Syeda //===-- GOFFYAML.cpp - GOFF YAMLIO implementation ---------------*- C++ -*-===// 2*fd6e19cdSYusra Syeda // 3*fd6e19cdSYusra Syeda // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*fd6e19cdSYusra Syeda // See https://llvm.org/LICENSE.txt for license information. 5*fd6e19cdSYusra Syeda // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*fd6e19cdSYusra Syeda // 7*fd6e19cdSYusra Syeda //===----------------------------------------------------------------------===// 8*fd6e19cdSYusra Syeda // 9*fd6e19cdSYusra Syeda // This file defines classes for handling the YAML representation of GOFF. 10*fd6e19cdSYusra Syeda // 11*fd6e19cdSYusra Syeda //===----------------------------------------------------------------------===// 12*fd6e19cdSYusra Syeda 13*fd6e19cdSYusra Syeda #include "llvm/ObjectYAML/GOFFYAML.h" 14*fd6e19cdSYusra Syeda 15*fd6e19cdSYusra Syeda namespace llvm { 16*fd6e19cdSYusra Syeda namespace GOFFYAML { 17*fd6e19cdSYusra Syeda 18*fd6e19cdSYusra Syeda Object::Object() {} 19*fd6e19cdSYusra Syeda 20*fd6e19cdSYusra Syeda } // namespace GOFFYAML 21*fd6e19cdSYusra Syeda 22*fd6e19cdSYusra Syeda namespace yaml { 23*fd6e19cdSYusra Syeda 24*fd6e19cdSYusra Syeda void MappingTraits<GOFFYAML::FileHeader>::mapping( 25*fd6e19cdSYusra Syeda IO &IO, GOFFYAML::FileHeader &FileHdr) { 26*fd6e19cdSYusra Syeda IO.mapOptional("TargetEnvironment", FileHdr.TargetEnvironment, 0); 27*fd6e19cdSYusra Syeda IO.mapOptional("TargetOperatingSystem", FileHdr.TargetOperatingSystem, 0); 28*fd6e19cdSYusra Syeda IO.mapOptional("CCSID", FileHdr.CCSID, 0); 29*fd6e19cdSYusra Syeda IO.mapOptional("CharacterSetName", FileHdr.CharacterSetName, ""); 30*fd6e19cdSYusra Syeda IO.mapOptional("LanguageProductIdentifier", FileHdr.LanguageProductIdentifier, 31*fd6e19cdSYusra Syeda ""); 32*fd6e19cdSYusra Syeda IO.mapOptional("ArchitectureLevel", FileHdr.ArchitectureLevel, 1); 33*fd6e19cdSYusra Syeda IO.mapOptional("InternalCCSID", FileHdr.InternalCCSID); 34*fd6e19cdSYusra Syeda IO.mapOptional("TargetSoftwareEnvironment", 35*fd6e19cdSYusra Syeda FileHdr.TargetSoftwareEnvironment); 36*fd6e19cdSYusra Syeda } 37*fd6e19cdSYusra Syeda 38*fd6e19cdSYusra Syeda void MappingTraits<GOFFYAML::Object>::mapping(IO &IO, GOFFYAML::Object &Obj) { 39*fd6e19cdSYusra Syeda IO.mapTag("!GOFF", true); 40*fd6e19cdSYusra Syeda IO.mapRequired("FileHeader", Obj.Header); 41*fd6e19cdSYusra Syeda } 42*fd6e19cdSYusra Syeda 43*fd6e19cdSYusra Syeda } // namespace yaml 44*fd6e19cdSYusra Syeda } // namespace llvm 45