================ @@ -0,0 +1,53 @@ +//===- InstallAPI/FileList.h ------------------------------------*- 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 +// +//===----------------------------------------------------------------------===// +/// +/// The JSON file list parser is used to communicate input to InstallAPI. +/// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_INSTALLAPI_FILELIST_H +#define LLVM_CLANG_INSTALLAPI_FILELIST_H + +#include "clang/Basic/Diagnostic.h" +#include "clang/Basic/FileManager.h" +#include "clang/InstallAPI/HeaderFile.h" +#include "llvm/Support/Error.h" +#include "llvm/Support/MemoryBuffer.h" + +namespace clang { +namespace installapi { + +/// JSON decoder for InstallAPI Inputs. +class FileListReader { + + class Implementation; + Implementation &Impl; + + FileListReader(std::unique_ptr<llvm::MemoryBuffer> InputBuffer, + llvm::Error &Err); + +public: + /// Decode JSON input and append header input into destination container. + /// Headers are loaded in the order they appear in the JSON input. + /// + /// \param InputBuffer JSON input data. + /// \param Destination Container to load headers into. + static llvm::Error + loadHeaders(std::unique_ptr<llvm::MemoryBuffer> InputBuffer, ---------------- cyndyishida wrote:
I want to keep the signature because the driver will accept multiple file lists but hold a single `HeaderSeq` and it's easier to handle continuous insertion. https://github.com/llvm/llvm-project/pull/81701 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits