diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2019-12-20 19:53:05 +0000 |
| commit | 0b57cec536236d46e3dba9bd041533462f33dbb7 (patch) | |
| tree | 56229dbdbbf76d18580f72f789003db17246c8d9 /contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp | |
| parent | 718ef55ec7785aae63f98f8ca05dc07ed399c16d (diff) | |
Notes
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp')
| -rw-r--r-- | contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp b/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp deleted file mode 100644 index 89e01ba52027..000000000000 --- a/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp +++ /dev/null @@ -1,83 +0,0 @@ -//===-- CommandObjectPlugin.cpp ---------------------------------*- 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 -// -//===----------------------------------------------------------------------===// - -#include "CommandObjectPlugin.h" -#include "lldb/Host/Host.h" -#include "lldb/Interpreter/CommandInterpreter.h" -#include "lldb/Interpreter/CommandReturnObject.h" - -using namespace lldb; -using namespace lldb_private; - -class CommandObjectPluginLoad : public CommandObjectParsed { -public: - CommandObjectPluginLoad(CommandInterpreter &interpreter) - : CommandObjectParsed(interpreter, "plugin load", - "Import a dylib that implements an LLDB plugin.", - nullptr) { - CommandArgumentEntry arg1; - CommandArgumentData cmd_arg; - - // Define the first (and only) variant of this arg. - cmd_arg.arg_type = eArgTypeFilename; - cmd_arg.arg_repetition = eArgRepeatPlain; - - // There is only one variant this argument could be; put it into the - // argument entry. - arg1.push_back(cmd_arg); - - // Push the data for the first argument into the m_arguments vector. - m_arguments.push_back(arg1); - } - - ~CommandObjectPluginLoad() override = default; - - int HandleArgumentCompletion( - CompletionRequest &request, - OptionElementVector &opt_element_vector) override { - CommandCompletions::InvokeCommonCompletionCallbacks( - GetCommandInterpreter(), CommandCompletions::eDiskFileCompletion, - request, nullptr); - return request.GetNumberOfMatches(); - } - -protected: - bool DoExecute(Args &command, CommandReturnObject &result) override { - size_t argc = command.GetArgumentCount(); - - if (argc != 1) { - result.AppendError("'plugin load' requires one argument"); - result.SetStatus(eReturnStatusFailed); - return false; - } - - Status error; - - FileSpec dylib_fspec(command[0].ref); - FileSystem::Instance().Resolve(dylib_fspec); - - if (GetDebugger().LoadPlugin(dylib_fspec, error)) - result.SetStatus(eReturnStatusSuccessFinishResult); - else { - result.AppendError(error.AsCString()); - result.SetStatus(eReturnStatusFailed); - } - - return result.Succeeded(); - } -}; - -CommandObjectPlugin::CommandObjectPlugin(CommandInterpreter &interpreter) - : CommandObjectMultiword(interpreter, "plugin", - "Commands for managing LLDB plugins.", - "plugin <subcommand> [<subcommand-options>]") { - LoadSubCommand("load", - CommandObjectSP(new CommandObjectPluginLoad(interpreter))); -} - -CommandObjectPlugin::~CommandObjectPlugin() = default; |
