brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · ecd7fb6 Raw
45 lines · cpp
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-exception6//7//===----------------------------------------------------------------------===//8//9// This file defines classes for handling the YAML representation of GOFF.10//11//===----------------------------------------------------------------------===//12 13#include "llvm/ObjectYAML/GOFFYAML.h"14 15namespace llvm {16namespace GOFFYAML {17 18Object::Object() = default;19 20} // namespace GOFFYAML21 22namespace yaml {23 24void 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 38void MappingTraits<GOFFYAML::Object>::mapping(IO &IO, GOFFYAML::Object &Obj) {39  IO.mapTag("!GOFF", true);40  IO.mapRequired("FileHeader", Obj.Header);41}42 43} // namespace yaml44} // namespace llvm45