20 "Demangle a C++ mangled name.",
21 "language cplusplus demangle [<mangled-name> ...]") {
27 bool demangled_any =
false;
28 bool error_any =
false;
29 for (
auto &entry : command.
entries()) {
30 if (entry.ref().empty())
38 auto name = entry.ref();
39 if (name.starts_with(
"__Z"))
40 name = name.drop_front();
51 entry.ref().str().c_str());
63 interpreter,
"cplusplus",
64 "Commands for operating on the C++ language runtime.",
65 "cplusplus <subcommand> [<subcommand-options>]") {
A command line argument class.
llvm::ArrayRef< ArgEntry > entries() const
CommandObjectCPlusPlusDemangle(CommandInterpreter &interpreter)
void DoExecute(Args &command, CommandReturnObject &result) override
CommandObjectCPlusPlus(CommandInterpreter &interpreter)
bool LoadSubCommand(llvm::StringRef cmd_name, const lldb::CommandObjectSP &command_obj) override
CommandObjectMultiword(CommandInterpreter &interpreter, const char *name, const char *help=nullptr, const char *syntax=nullptr, uint32_t flags=0)
friend class CommandInterpreter
CommandObjectParsed(CommandInterpreter &interpreter, const char *name, const char *help=nullptr, const char *syntax=nullptr, uint32_t flags=0)
void AddSimpleArgumentList(lldb::CommandArgumentType arg_type, ArgumentRepetitionType repetition_type=eArgRepeatPlain)
void SetStatus(lldb::ReturnStatus status)
void AppendErrorWithFormat(const char *format,...) __attribute__((format(printf
void void AppendMessageWithFormatv(const char *format, Args &&...args)
A uniqued constant string class.
const char * GetCString() const
Get the string value as a C string.
A class that handles mangled names.
lldb::LanguageType GuessLanguage() const
Try to guess the language from the mangling.
ConstString GetDisplayDemangledName() const
Display demangled name get accessor.
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::CommandObject > CommandObjectSP
@ eLanguageTypeC_plus_plus
ISO C++:1998.
@ eReturnStatusSuccessFinishResult
@ eReturnStatusSuccessFinishNoResult