================ @@ -450,58 +458,65 @@ class FullDeps { ModuleIDs.push_back(M.first); llvm::sort(ModuleIDs); - using namespace llvm::json; - - Array OutModules; - for (auto &&ModID : ModuleIDs) { - auto &MD = Modules[ModID]; - Object O{{"name", MD.ID.ModuleName}, - {"context-hash", MD.ID.ContextHash}, - {"file-deps", toJSONSorted(MD.FileDeps)}, - {"clang-module-deps", toJSONSorted(MD.ClangModuleDeps)}, - {"clang-modulemap-file", MD.ClangModuleMapFile}, - {"command-line", MD.getBuildArguments()}, - {"link-libraries", toJSONSorted(MD.LinkLibraries)}}; - OutModules.push_back(std::move(O)); - } - - Array TUs; - for (auto &&I : Inputs) { - Array Commands; - if (I.DriverCommandLine.empty()) { - for (const auto &Cmd : I.Commands) { - Object O{ - {"input-file", I.FileName}, - {"clang-context-hash", I.ContextHash}, - {"file-deps", I.FileDeps}, - {"clang-module-deps", toJSONSorted(I.ModuleDeps)}, - {"executable", Cmd.Executable}, - {"command-line", Cmd.Arguments}, - }; - Commands.push_back(std::move(O)); + llvm::json::OStream JOS(OS, /*IndentSize=*/2); + + JOS.object([&]() { ---------------- benlangmuir wrote:
style nit: generally llvm code drops the `()` in parameterless lambdas when possible. https://github.com/llvm/llvm-project/pull/111734 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits