//===- JSONBackend.cpp - Generate a JSON dump of all records. -*- C++ -*-=====// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This TableGen back end generates a machine-readable representation // of all the classes and records defined by the input, in JSON format. // //===----------------------------------------------------------------------===// #include "llvm/Support/Casting.h" #include "llvm/Support/Debug.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/JSON.h" #include "llvm/TableGen/Error.h" #include "llvm/TableGen/Record.h" #define DEBUG_TYPE … usingnamespacellvm; namespace { class JSONEmitter { … }; } // end anonymous namespace json::Value JSONEmitter::translateInit(const Init &I) { … } void JSONEmitter::run(raw_ostream &OS) { … } void llvm::EmitJSON(const RecordKeeper &RK, raw_ostream &OS) { … }