view lldb/source/Target/TraceExporter.cpp @ 266:00f31e85ec16 default tip

Added tag current for changeset 31d058e83c98
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Oct 2023 10:13:55 +0900
parents c4bab56944e8
children
line wrap: on
line source

//===-- TraceExporter.cpp -------------------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//

#include "lldb/Target/TraceExporter.h"

#include "lldb/Core/PluginManager.h"

using namespace lldb;
using namespace lldb_private;
using namespace llvm;

static Error createInvalidPlugInError(StringRef plugin_name) {
  return createStringError(
      std::errc::invalid_argument,
      "no trace expoter plug-in matches the specified type: \"%s\"",
      plugin_name.data());
}

Expected<lldb::TraceExporterUP>
TraceExporter::FindPlugin(llvm::StringRef name) {
  if (auto create_callback =
          PluginManager::GetTraceExporterCreateCallback(name))
    return create_callback();

  return createInvalidPlugInError(name);
}