LLDB mainline
TraceExporter.cpp
Go to the documentation of this file.
1//===-- TraceExporter.cpp -------------------------------------------------===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
10
12
13using namespace lldb;
14using namespace lldb_private;
15using namespace llvm;
16
17static Error createInvalidPlugInError(StringRef plugin_name) {
18 return createStringError(
19 std::errc::invalid_argument,
20 "no trace expoter plug-in matches the specified type: \"%s\"",
21 plugin_name.data());
22}
23
24Expected<lldb::TraceExporterUP>
25TraceExporter::FindPlugin(llvm::StringRef name) {
26 if (auto create_callback =
28 return create_callback();
29
30 return createInvalidPlugInError(name);
31}
static Error createInvalidPlugInError(StringRef plugin_name)
static Error createInvalidPlugInError(StringRef plugin_name)
Definition: Trace.cpp:88
llvm::Error Error
static TraceExporterCreateInstance GetTraceExporterCreateCallback(llvm::StringRef plugin_name)
static llvm::Expected< lldb::TraceExporterUP > FindPlugin(llvm::StringRef plugin_name)
Create an instance of a trace exporter plugin given its name.
A class that represents a running process on the host machine.
Definition: SBAttachInfo.h:14
Definition: SBAddress.h:15
Definition: Debugger.h:54