17LUSummaryConsumer::build(LUDataIterator LUIt) {
18 const SummaryName SN = LUIt->first;
22 "no builder registered for analysis '{0}'",
27 for (
auto &[Id, Summary] : LUIt->second) {
28 Builder->addSummary(Id, std::move(Summary));
33 return std::move(*Builder).getData();
36llvm::Expected<std::unique_ptr<SummaryData>>
38 auto LUIt = LU->Data.find(SN);
39 if (LUIt == LU->Data.end()) {
41 "no data for analysis '{0}' in LUSummary",
48llvm::Expected<SummaryDataStore>
51 for (
const auto &SN : Names) {
56 Store.Data.emplace(SN, std::move(*
Result));
66 auto It = LU->Data.begin();
67 while (It != LU->Data.end()) {
70 auto Result = build(Current);
72 llvm::consumeError(
Result.takeError());
75 Store.Data.emplace(std::move(SN), std::move(*
Result));
static ErrorBuilder create(std::error_code EC, const char *Fmt, Args &&...ArgVals)
Create an ErrorBuilder with an error code and formatted message.
llvm::Error build() const
Build and return the final error.
llvm::Expected< SummaryDataStore > run()
Processes analyses for each of the given types and returns the results.
static std::unique_ptr< SummaryDataBuilderBase > instantiate(llvm::StringRef Name)
Instantiates the builder registered under Name, or returns nullptr if no such builder is registered.
Owns a collection of SummaryData objects keyed by SummaryName.
Uniquely identifies an analysis summary.
llvm::StringRef str() const
Explicit conversion to the underlying string representation.
The JSON file list parser is used to communicate input to InstallAPI.
@ Result
The result type of a method or function.