1 //===- FDRRecordConsumer.h - XRay Flight Data Recorder Mode Records -------===//
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-exception
7 //===----------------------------------------------------------------------===//
8 #include "llvm/XRay/FDRRecordConsumer.h"
13 Error
LogBuilderConsumer::consume(std::unique_ptr
<Record
> R
) {
15 return createStringError(
16 std::make_error_code(std::errc::invalid_argument
),
17 "Must not call RecordConsumer::consume() with a null pointer.");
18 Records
.push_back(std::move(R
));
19 return Error::success();
22 Error
PipelineConsumer::consume(std::unique_ptr
<Record
> R
) {
24 return createStringError(
25 std::make_error_code(std::errc::invalid_argument
),
26 "Must not call RecordConsumer::consume() with a null pointer.");
28 // We apply all of the visitors in order, and concatenate errors
30 Error Result
= Error::success();
31 for (auto *V
: Visitors
)
32 Result
= joinErrors(std::move(Result
), R
->apply(*V
));