diff options
author | Med Ismail Bennani <medismail.bennani@gmail.com> | 2023-01-13 08:51:03 -0800 |
---|---|---|
committer | Med Ismail Bennani <medismail.bennani@gmail.com> | 2023-01-13 09:13:03 -0800 |
commit | d667840465b0ea0dbd39dcbd56788e73698dc853 (patch) | |
tree | eb1709560c2e56e8aac34601cde3c501bc0a0447 /lldb/source/Commands/CommandObjectPlatform.cpp | |
parent | a9a6f977bb429917f43f5511564bb8d2f8c9300f (diff) | |
download | llvm-d667840465b0ea0dbd39dcbd56788e73698dc853.zip llvm-d667840465b0ea0dbd39dcbd56788e73698dc853.tar.gz llvm-d667840465b0ea0dbd39dcbd56788e73698dc853.tar.bz2 |
Revert "[lldb] Add Debugger & ScriptedMetadata reference to Platform::CreateInstance"
This reverts commit 2d53527e9c64c70c24e1abba74fa0a8c8b3392b1.
Diffstat (limited to 'lldb/source/Commands/CommandObjectPlatform.cpp')
-rw-r--r-- | lldb/source/Commands/CommandObjectPlatform.cpp | 91 |
1 files changed, 48 insertions, 43 deletions
diff --git a/lldb/source/Commands/CommandObjectPlatform.cpp b/lldb/source/Commands/CommandObjectPlatform.cpp index 610eb24..69c44fe 100644 --- a/lldb/source/Commands/CommandObjectPlatform.cpp +++ b/lldb/source/Commands/CommandObjectPlatform.cpp @@ -139,58 +139,63 @@ private: }; // "platform select <platform-name>" -CommandObjectPlatformSelect::CommandObjectPlatformSelect( - CommandInterpreter &interpreter) - : CommandObjectParsed(interpreter, "platform select", - "Create a platform if needed and select it as the " - "current platform.", - "platform select <platform-name>", 0), - m_platform_options( - false) // Don't include the "--platform" option by passing false -{ - m_option_group.Append(&m_platform_options, LLDB_OPT_SET_ALL, 1); - m_option_group.Append(&m_platform_options.m_class_options, - LLDB_OPT_SET_1 | LLDB_OPT_SET_2, LLDB_OPT_SET_ALL); - m_option_group.Finalize(); - CommandArgumentData platform_arg{eArgTypePlatform, eArgRepeatPlain}; - m_arguments.push_back({platform_arg}); -} +class CommandObjectPlatformSelect : public CommandObjectParsed { +public: + CommandObjectPlatformSelect(CommandInterpreter &interpreter) + : CommandObjectParsed(interpreter, "platform select", + "Create a platform if needed and select it as the " + "current platform.", + "platform select <platform-name>", 0), + m_platform_options( + false) // Don't include the "--platform" option by passing false + { + m_option_group.Append(&m_platform_options, LLDB_OPT_SET_ALL, 1); + m_option_group.Finalize(); + CommandArgumentData platform_arg{eArgTypePlatform, eArgRepeatPlain}; + m_arguments.push_back({platform_arg}); + } -void CommandObjectPlatformSelect::HandleCompletion(CompletionRequest &request) { - CommandCompletions::PlatformPluginNames(GetCommandInterpreter(), request, - nullptr); -} + ~CommandObjectPlatformSelect() override = default; -Options *CommandObjectPlatformSelect::GetOptions() { return &m_option_group; } + void HandleCompletion(CompletionRequest &request) override { + CommandCompletions::PlatformPluginNames(GetCommandInterpreter(), request, + nullptr); + } -bool CommandObjectPlatformSelect::DoExecute(Args &args, - CommandReturnObject &result) { - if (args.GetArgumentCount() == 1) { - const char *platform_name = args.GetArgumentAtIndex(0); - if (platform_name && platform_name[0]) { - const bool select = true; - m_platform_options.SetPlatformName(platform_name); - Status error; - ArchSpec platform_arch; - PlatformSP platform_sp(m_platform_options.CreatePlatformWithOptions( - m_interpreter, ArchSpec(), select, error, platform_arch)); - if (platform_sp) { - GetDebugger().GetPlatformList().SetSelectedPlatform(platform_sp); + Options *GetOptions() override { return &m_option_group; } - platform_sp->GetStatus(result.GetOutputStream()); - result.SetStatus(eReturnStatusSuccessFinishResult); +protected: + bool DoExecute(Args &args, CommandReturnObject &result) override { + if (args.GetArgumentCount() == 1) { + const char *platform_name = args.GetArgumentAtIndex(0); + if (platform_name && platform_name[0]) { + const bool select = true; + m_platform_options.SetPlatformName(platform_name); + Status error; + ArchSpec platform_arch; + PlatformSP platform_sp(m_platform_options.CreatePlatformWithOptions( + m_interpreter, ArchSpec(), select, error, platform_arch)); + if (platform_sp) { + GetDebugger().GetPlatformList().SetSelectedPlatform(platform_sp); + + platform_sp->GetStatus(result.GetOutputStream()); + result.SetStatus(eReturnStatusSuccessFinishResult); + } else { + result.AppendError(error.AsCString()); + } } else { - result.AppendError(error.AsCString()); + result.AppendError("invalid platform name"); } } else { - result.AppendError("invalid platform name"); + result.AppendError( + "platform create takes a platform name as an argument\n"); } - } else { - result.AppendError( - "platform create takes a platform name as an argument\n"); + return result.Succeeded(); } - return result.Succeeded(); -} + + OptionGroupOptions m_option_group; + OptionGroupPlatform m_platform_options; +}; // "platform list" class CommandObjectPlatformList : public CommandObjectParsed { |