[Lldb-commits] [lldb] 5dbbc3b - [lldb] Use Target references instead of pointers in CommandObject (NFC)
Jonas Devlieghere via lldb-commits
lldb-commits at lists.llvm.org
Wed Jul 31 18:06:41 PDT 2024
Author: Jonas Devlieghere
Date: 2024-07-31T18:06:32-07:00
New Revision: 5dbbc3b14bb04ef4bf2cbf4c23008f94f4253704
URL: https://github.com/llvm/llvm-project/commit/5dbbc3b14bb04ef4bf2cbf4c23008f94f4253704
DIFF: https://github.com/llvm/llvm-project/commit/5dbbc3b14bb04ef4bf2cbf4c23008f94f4253704.diff
LOG: [lldb] Use Target references instead of pointers in CommandObject (NFC)
The GetTarget helper returns a Target reference so there's reason to
convert it to a pointer and check its validity.
Added:
Modified:
lldb/source/Commands/CommandObjectBreakpointCommand.cpp
lldb/source/Commands/CommandObjectDisassemble.cpp
lldb/source/Commands/CommandObjectTarget.cpp
lldb/source/Commands/CommandObjectWatchpoint.cpp
lldb/source/Commands/CommandObjectWatchpoint.h
lldb/source/Commands/CommandObjectWatchpointCommand.cpp
Removed:
################################################################################
diff --git a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
index 5d95c2a30957d..8c1fb513e016e 100644
--- a/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
+++ b/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
@@ -548,9 +548,9 @@ class CommandObjectBreakpointCommandList : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
- const BreakpointList &breakpoints = target->GetBreakpointList();
+ const BreakpointList &breakpoints = target.GetBreakpointList();
size_t num_breakpoints = breakpoints.GetSize();
if (num_breakpoints == 0) {
@@ -566,7 +566,7 @@ class CommandObjectBreakpointCommandList : public CommandObjectParsed {
BreakpointIDList valid_bp_ids;
CommandObjectMultiwordBreakpoint::VerifyBreakpointOrLocationIDs(
- command, target, result, &valid_bp_ids,
+ command, &target, result, &valid_bp_ids,
BreakpointName::Permissions::PermissionKinds::listPerm);
if (result.Succeeded()) {
@@ -575,7 +575,7 @@ class CommandObjectBreakpointCommandList : public CommandObjectParsed {
BreakpointID cur_bp_id = valid_bp_ids.GetBreakpointIDAtIndex(i);
if (cur_bp_id.GetBreakpointID() != LLDB_INVALID_BREAK_ID) {
Breakpoint *bp =
- target->GetBreakpointByID(cur_bp_id.GetBreakpointID()).get();
+ target.GetBreakpointByID(cur_bp_id.GetBreakpointID()).get();
if (bp) {
BreakpointLocationSP bp_loc_sp;
diff --git a/lldb/source/Commands/CommandObjectDisassemble.cpp b/lldb/source/Commands/CommandObjectDisassemble.cpp
index 8ec55cc120725..652a300706b11 100644
--- a/lldb/source/Commands/CommandObjectDisassemble.cpp
+++ b/lldb/source/Commands/CommandObjectDisassemble.cpp
@@ -439,10 +439,10 @@ CommandObjectDisassemble::GetRangesForSelectedMode(
void CommandObjectDisassemble::DoExecute(Args &command,
CommandReturnObject &result) {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
if (!m_options.arch.IsValid())
- m_options.arch = target->GetArchitecture();
+ m_options.arch = target.GetArchitecture();
if (!m_options.arch.IsValid()) {
result.AppendError(
@@ -535,7 +535,7 @@ void CommandObjectDisassemble::DoExecute(Args &command,
} else {
result.AppendErrorWithFormat(
"Failed to disassemble memory at 0x%8.8" PRIx64 ".\n",
- cur_range.GetBaseAddress().GetLoadAddress(target));
+ cur_range.GetBaseAddress().GetLoadAddress(&target));
}
}
if (print_sc_header)
diff --git a/lldb/source/Commands/CommandObjectTarget.cpp b/lldb/source/Commands/CommandObjectTarget.cpp
index 60a84820f69de..b77bd8b0bc71a 100644
--- a/lldb/source/Commands/CommandObjectTarget.cpp
+++ b/lldb/source/Commands/CommandObjectTarget.cpp
@@ -1027,7 +1027,7 @@ class CommandObjectTargetModulesSearchPathsAdd : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
const size_t argc = command.GetArgumentCount();
if (argc & 1) {
result.AppendError("add requires an even number of arguments\n");
@@ -1045,7 +1045,7 @@ class CommandObjectTargetModulesSearchPathsAdd : public CommandObjectParsed {
from, to);
}
bool last_pair = ((argc - i) == 2);
- target->GetImageSearchPathList().Append(
+ target.GetImageSearchPathList().Append(
from, to, last_pair); // Notify if this is the last pair
result.SetStatus(eReturnStatusSuccessFinishNoResult);
} else {
@@ -1074,9 +1074,9 @@ class CommandObjectTargetModulesSearchPathsClear : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
bool notify = true;
- target->GetImageSearchPathList().Clear(notify);
+ target.GetImageSearchPathList().Clear(notify);
result.SetStatus(eReturnStatusSuccessFinishNoResult);
}
};
@@ -1148,7 +1148,7 @@ class CommandObjectTargetModulesSearchPathsInsert : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
size_t argc = command.GetArgumentCount();
// check for at least 3 arguments and an odd number of parameters
if (argc >= 3 && argc & 1) {
@@ -1171,8 +1171,8 @@ class CommandObjectTargetModulesSearchPathsInsert : public CommandObjectParsed {
if (from[0] && to[0]) {
bool last_pair = ((argc - i) == 2);
- target->GetImageSearchPathList().Insert(from, to, insert_idx,
- last_pair);
+ target.GetImageSearchPathList().Insert(from, to, insert_idx,
+ last_pair);
result.SetStatus(eReturnStatusSuccessFinishNoResult);
} else {
if (from[0])
@@ -1203,9 +1203,8 @@ class CommandObjectTargetModulesSearchPathsList : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
-
- target->GetImageSearchPathList().Dump(&result.GetOutputStream());
+ Target &target = GetTarget();
+ target.GetImageSearchPathList().Dump(&result.GetOutputStream());
result.SetStatus(eReturnStatusSuccessFinishResult);
}
};
@@ -1226,7 +1225,7 @@ class CommandObjectTargetModulesSearchPathsQuery : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
if (command.GetArgumentCount() != 1) {
result.AppendError("query requires one argument\n");
return;
@@ -1234,7 +1233,7 @@ class CommandObjectTargetModulesSearchPathsQuery : public CommandObjectParsed {
ConstString orig(command.GetArgumentAtIndex(0));
ConstString transformed;
- if (target->GetImageSearchPathList().RemapPath(orig, transformed))
+ if (target.GetImageSearchPathList().RemapPath(orig, transformed))
result.GetOutputStream().Printf("%s\n", transformed.GetCString());
else
result.GetOutputStream().Printf("%s\n", orig.GetCString());
@@ -1898,9 +1897,9 @@ class CommandObjectTargetModulesDumpObjfile
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
- uint32_t addr_byte_size = target->GetArchitecture().GetAddressByteSize();
+ uint32_t addr_byte_size = target.GetArchitecture().GetAddressByteSize();
result.GetOutputStream().SetAddressByteSize(addr_byte_size);
result.GetErrorStream().SetAddressByteSize(addr_byte_size);
@@ -1908,7 +1907,7 @@ class CommandObjectTargetModulesDumpObjfile
if (command.GetArgumentCount() == 0) {
// Dump all headers for all modules images
num_dumped = DumpModuleObjfileHeaders(result.GetOutputStream(),
- target->GetImages());
+ target.GetImages());
if (num_dumped == 0) {
result.AppendError("the target has no associated executable images");
}
@@ -1920,7 +1919,7 @@ class CommandObjectTargetModulesDumpObjfile
(arg_cstr = command.GetArgumentAtIndex(arg_idx)) != nullptr;
++arg_idx) {
size_t num_matched =
- FindModulesByName(target, arg_cstr, module_list, true);
+ FindModulesByName(&target, arg_cstr, module_list, true);
if (num_matched == 0) {
result.AppendWarningWithFormat(
"Unable to find an image that matches '%s'.\n", arg_cstr);
@@ -1999,19 +1998,19 @@ class CommandObjectTargetModulesDumpSymtab
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
uint32_t num_dumped = 0;
Mangled::NamePreference name_preference =
(m_options.m_prefer_mangled ? Mangled::ePreferMangled
: Mangled::ePreferDemangled);
- uint32_t addr_byte_size = target->GetArchitecture().GetAddressByteSize();
+ uint32_t addr_byte_size = target.GetArchitecture().GetAddressByteSize();
result.GetOutputStream().SetAddressByteSize(addr_byte_size);
result.GetErrorStream().SetAddressByteSize(addr_byte_size);
if (command.GetArgumentCount() == 0) {
// Dump all sections for all modules images
- const ModuleList &module_list = target->GetImages();
+ const ModuleList &module_list = target.GetImages();
std::lock_guard<std::recursive_mutex> guard(module_list.GetMutex());
const size_t num_modules = module_list.GetSize();
if (num_modules > 0) {
@@ -2044,7 +2043,7 @@ class CommandObjectTargetModulesDumpSymtab
++arg_idx) {
ModuleList module_list;
const size_t num_matches =
- FindModulesByName(target, arg_cstr, module_list, true);
+ FindModulesByName(&target, arg_cstr, module_list, true);
if (num_matches > 0) {
for (ModuleSP module_sp : module_list.Modules()) {
if (module_sp) {
@@ -2097,16 +2096,16 @@ class CommandObjectTargetModulesDumpSections
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
uint32_t num_dumped = 0;
- uint32_t addr_byte_size = target->GetArchitecture().GetAddressByteSize();
+ uint32_t addr_byte_size = target.GetArchitecture().GetAddressByteSize();
result.GetOutputStream().SetAddressByteSize(addr_byte_size);
result.GetErrorStream().SetAddressByteSize(addr_byte_size);
if (command.GetArgumentCount() == 0) {
// Dump all sections for all modules images
- const size_t num_modules = target->GetImages().GetSize();
+ const size_t num_modules = target.GetImages().GetSize();
if (num_modules == 0) {
result.AppendError("the target has no associated executable images");
return;
@@ -2123,7 +2122,7 @@ class CommandObjectTargetModulesDumpSections
num_dumped++;
DumpModuleSections(
m_interpreter, result.GetOutputStream(),
- target->GetImages().GetModulePointerAtIndex(image_idx));
+ target.GetImages().GetModulePointerAtIndex(image_idx));
}
} else {
// Dump specified images (by basename or fullpath)
@@ -2133,7 +2132,7 @@ class CommandObjectTargetModulesDumpSections
++arg_idx) {
ModuleList module_list;
const size_t num_matches =
- FindModulesByName(target, arg_cstr, module_list, true);
+ FindModulesByName(&target, arg_cstr, module_list, true);
if (num_matches > 0) {
for (size_t i = 0; i < num_matches; ++i) {
if (INTERRUPT_REQUESTED(GetDebugger(),
@@ -2238,9 +2237,9 @@ class CommandObjectTargetModulesDumpClangAST
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
- const ModuleList &module_list = target->GetImages();
+ const ModuleList &module_list = target.GetImages();
const size_t num_modules = module_list.GetSize();
if (num_modules == 0) {
result.AppendError("the target has no associated executable images");
@@ -2265,7 +2264,7 @@ class CommandObjectTargetModulesDumpClangAST
for (const Args::ArgEntry &arg : command.entries()) {
ModuleList module_list;
const size_t num_matches =
- FindModulesByName(target, arg.c_str(), module_list, true);
+ FindModulesByName(&target, arg.c_str(), module_list, true);
if (num_matches == 0) {
// Check the global list
std::lock_guard<std::recursive_mutex> guard(
@@ -2309,16 +2308,16 @@ class CommandObjectTargetModulesDumpSymfile
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
uint32_t num_dumped = 0;
- uint32_t addr_byte_size = target->GetArchitecture().GetAddressByteSize();
+ uint32_t addr_byte_size = target.GetArchitecture().GetAddressByteSize();
result.GetOutputStream().SetAddressByteSize(addr_byte_size);
result.GetErrorStream().SetAddressByteSize(addr_byte_size);
if (command.GetArgumentCount() == 0) {
// Dump all sections for all modules images
- const ModuleList &target_modules = target->GetImages();
+ const ModuleList &target_modules = target.GetImages();
std::lock_guard<std::recursive_mutex> guard(target_modules.GetMutex());
const size_t num_modules = target_modules.GetSize();
if (num_modules == 0) {
@@ -2344,7 +2343,7 @@ class CommandObjectTargetModulesDumpSymfile
++arg_idx) {
ModuleList module_list;
const size_t num_matches =
- FindModulesByName(target, arg_cstr, module_list, true);
+ FindModulesByName(&target, arg_cstr, module_list, true);
if (num_matches > 0) {
for (size_t i = 0; i < num_matches; ++i) {
if (INTERRUPT_REQUESTED(GetDebugger(), "Interrupted dumping {0} "
@@ -2726,7 +2725,7 @@ class CommandObjectTargetModulesAdd : public CommandObjectParsed {
OptionGroupFile m_symbol_file;
void DoExecute(Args &args, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
bool flush = false;
const size_t argc = args.GetArgumentCount();
@@ -2742,7 +2741,7 @@ class CommandObjectTargetModulesAdd : public CommandObjectParsed {
Status error;
if (PluginManager::DownloadObjectAndSymbolFile(module_spec, error)) {
ModuleSP module_sp(
- target->GetOrCreateModule(module_spec, true /* notify */));
+ target.GetOrCreateModule(module_spec, true /* notify */));
if (module_sp) {
result.SetStatus(eReturnStatusSuccessFinishResult);
return;
@@ -2799,10 +2798,10 @@ class CommandObjectTargetModulesAdd : public CommandObjectParsed {
module_spec.GetSymbolFileSpec() =
m_symbol_file.GetOptionValue().GetCurrentValue();
if (!module_spec.GetArchitecture().IsValid())
- module_spec.GetArchitecture() = target->GetArchitecture();
+ module_spec.GetArchitecture() = target.GetArchitecture();
Status error;
- ModuleSP module_sp(target->GetOrCreateModule(
- module_spec, true /* notify */, &error));
+ ModuleSP module_sp(
+ target.GetOrCreateModule(module_spec, true /* notify */, &error));
if (!module_sp) {
const char *error_cstr = error.AsCString();
if (error_cstr)
@@ -2831,7 +2830,7 @@ class CommandObjectTargetModulesAdd : public CommandObjectParsed {
}
if (flush) {
- ProcessSP process = target->GetProcessSP();
+ ProcessSP process = target.GetProcessSP();
if (process)
process->Flush();
}
@@ -2876,7 +2875,7 @@ class CommandObjectTargetModulesLoad
protected:
void DoExecute(Args &args, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
const bool load = m_load_option.GetOptionValue().GetCurrentValue();
const bool set_pc = m_pc_option.GetOptionValue().GetCurrentValue();
@@ -2888,7 +2887,7 @@ class CommandObjectTargetModulesLoad
if (load) {
if (!m_file_option.GetOptionValue().OptionWasSet() &&
!m_uuid_option_group.GetOptionValue().OptionWasSet()) {
- ModuleList &module_list = target->GetImages();
+ ModuleList &module_list = target.GetImages();
if (module_list.GetSize() == 1) {
search_using_module_spec = true;
module_spec.GetFileSpec() =
@@ -2903,7 +2902,7 @@ class CommandObjectTargetModulesLoad
const bool use_global_module_list = true;
ModuleList module_list;
const size_t num_matches = FindModulesByName(
- target, arg_cstr, module_list, use_global_module_list);
+ &target, arg_cstr, module_list, use_global_module_list);
if (num_matches == 1) {
module_spec.GetFileSpec() =
module_list.GetModuleAtIndex(0)->GetFileSpec();
@@ -2926,7 +2925,7 @@ class CommandObjectTargetModulesLoad
if (search_using_module_spec) {
ModuleList matching_modules;
- target->GetImages().FindModules(module_spec, matching_modules);
+ target.GetImages().FindModules(module_spec, matching_modules);
const size_t num_matches = matching_modules.GetSize();
char path[PATH_MAX];
@@ -2943,7 +2942,7 @@ class CommandObjectTargetModulesLoad
const addr_t slide =
m_slide_option.GetOptionValue().GetCurrentValue();
const bool slide_is_offset = true;
- module->SetLoadAddress(*target, slide, slide_is_offset,
+ module->SetLoadAddress(target, slide, slide_is_offset,
changed);
} else {
result.AppendError("one or more section name + load "
@@ -2975,8 +2974,8 @@ class CommandObjectTargetModulesLoad
sect_name);
break;
} else {
- if (target->GetSectionLoadList()
- .SetSectionLoadAddress(section_sp, load_addr))
+ if (target.GetSectionLoadList().SetSectionLoadAddress(
+ section_sp, load_addr))
changed = true;
result.AppendMessageWithFormat(
"section '%s' loaded at 0x%" PRIx64 "\n",
@@ -3007,13 +3006,13 @@ class CommandObjectTargetModulesLoad
}
if (changed) {
- target->ModulesDidLoad(matching_modules);
+ target.ModulesDidLoad(matching_modules);
Process *process = m_exe_ctx.GetProcessPtr();
if (process)
process->Flush();
}
if (load) {
- ProcessSP process = target->CalculateProcess();
+ ProcessSP process = target.CalculateProcess();
Address file_entry = objfile->GetEntryPointAddress();
if (!process) {
result.AppendError("No process");
@@ -3024,7 +3023,7 @@ class CommandObjectTargetModulesLoad
return;
}
std::vector<ObjectFile::LoadableData> loadables(
- objfile->GetLoadableData(*target));
+ objfile->GetLoadableData(target));
if (loadables.size() == 0) {
result.AppendError("No loadable sections");
return;
@@ -3038,7 +3037,7 @@ class CommandObjectTargetModulesLoad
ThreadList &thread_list = process->GetThreadList();
RegisterContextSP reg_context(
thread_list.GetSelectedThread()->GetRegisterContext());
- addr_t file_entry_addr = file_entry.GetLoadAddress(target);
+ addr_t file_entry_addr = file_entry.GetLoadAddress(&target);
if (!reg_context->SetPC(file_entry_addr)) {
result.AppendErrorWithFormat("failed to set PC value to "
"0x%" PRIx64 "\n",
@@ -3166,50 +3165,37 @@ class CommandObjectTargetModulesList : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
const bool use_global_module_list = m_options.m_use_global_module_list;
// Define a local module list here to ensure it lives longer than any
// "locker" object which might lock its contents below (through the
// "module_list_ptr" variable).
ModuleList module_list;
- if (target == nullptr && !use_global_module_list) {
- result.AppendError("invalid target, create a debug target using the "
- "'target create' command");
- return;
- } else {
- if (target) {
- uint32_t addr_byte_size =
- target->GetArchitecture().GetAddressByteSize();
- result.GetOutputStream().SetAddressByteSize(addr_byte_size);
- result.GetErrorStream().SetAddressByteSize(addr_byte_size);
- }
- // Dump all sections for all modules images
- Stream &strm = result.GetOutputStream();
+ uint32_t addr_byte_size = target.GetArchitecture().GetAddressByteSize();
+ result.GetOutputStream().SetAddressByteSize(addr_byte_size);
+ result.GetErrorStream().SetAddressByteSize(addr_byte_size);
+ // Dump all sections for all modules images
+ Stream &strm = result.GetOutputStream();
- if (m_options.m_module_addr != LLDB_INVALID_ADDRESS) {
- if (target) {
- Address module_address;
- if (module_address.SetLoadAddress(m_options.m_module_addr, target)) {
- ModuleSP module_sp(module_address.GetModule());
- if (module_sp) {
- PrintModule(target, module_sp.get(), 0, strm);
- result.SetStatus(eReturnStatusSuccessFinishResult);
- } else {
- result.AppendErrorWithFormat(
- "Couldn't find module matching address: 0x%" PRIx64 ".",
- m_options.m_module_addr);
- }
- } else {
- result.AppendErrorWithFormat(
- "Couldn't find module containing address: 0x%" PRIx64 ".",
- m_options.m_module_addr);
- }
+ if (m_options.m_module_addr != LLDB_INVALID_ADDRESS) {
+ Address module_address;
+ if (module_address.SetLoadAddress(m_options.m_module_addr, &target)) {
+ ModuleSP module_sp(module_address.GetModule());
+ if (module_sp) {
+ PrintModule(target, module_sp.get(), 0, strm);
+ result.SetStatus(eReturnStatusSuccessFinishResult);
} else {
- result.AppendError(
- "Can only look up modules by address with a valid target.");
+ result.AppendErrorWithFormat(
+ "Couldn't find module matching address: 0x%" PRIx64 ".",
+ m_options.m_module_addr);
}
- return;
+ } else {
+ result.AppendErrorWithFormat(
+ "Couldn't find module containing address: 0x%" PRIx64 ".",
+ m_options.m_module_addr);
}
+ return;
+ }
size_t num_modules = 0;
@@ -3227,13 +3213,13 @@ class CommandObjectTargetModulesList : public CommandObjectParsed {
guard.lock();
num_modules = Module::GetNumberAllocatedModules();
} else {
- module_list_ptr = &target->GetImages();
+ module_list_ptr = &target.GetImages();
}
} else {
for (const Args::ArgEntry &arg : command) {
// Dump specified images (by basename or fullpath)
const size_t num_matches = FindModulesByName(
- target, arg.c_str(), module_list, use_global_module_list);
+ &target, arg.c_str(), module_list, use_global_module_list);
if (num_matches == 0) {
if (argc == 1) {
result.AppendErrorWithFormat("no modules found that match '%s'",
@@ -3286,10 +3272,9 @@ class CommandObjectTargetModulesList : public CommandObjectParsed {
}
return;
}
- }
}
- void PrintModule(Target *target, Module *module, int indent, Stream &strm) {
+ void PrintModule(Target &target, Module *module, int indent, Stream &strm) {
if (module == nullptr) {
strm.PutCString("Null module");
return;
@@ -3338,17 +3323,16 @@ class CommandObjectTargetModulesList : public CommandObjectParsed {
// Image header address
{
uint32_t addr_nibble_width =
- target ? (target->GetArchitecture().GetAddressByteSize() * 2)
- : 16;
+ target.GetArchitecture().GetAddressByteSize() * 2;
ObjectFile *objfile = module->GetObjectFile();
if (objfile) {
Address base_addr(objfile->GetBaseAddress());
if (base_addr.IsValid()) {
- if (target && !target->GetSectionLoadList().IsEmpty()) {
- lldb::addr_t load_addr = base_addr.GetLoadAddress(target);
+ if (!target.GetSectionLoadList().IsEmpty()) {
+ lldb::addr_t load_addr = base_addr.GetLoadAddress(&target);
if (load_addr == LLDB_INVALID_ADDRESS) {
- base_addr.Dump(&strm, target,
+ base_addr.Dump(&strm, &target,
Address::DumpStyleModuleWithFileAddress,
Address::DumpStyleFileAddress);
} else {
@@ -3367,7 +3351,7 @@ class CommandObjectTargetModulesList : public CommandObjectParsed {
}
// The address was valid, but the image isn't loaded, output the
// address in an appropriate format
- base_addr.Dump(&strm, target, Address::DumpStyleFileAddress);
+ base_addr.Dump(&strm, &target, Address::DumpStyleFileAddress);
break;
}
}
@@ -4070,11 +4054,11 @@ class CommandObjectTargetModulesLookup : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
bool syntax_error = false;
uint32_t i;
uint32_t num_successful_lookups = 0;
- uint32_t addr_byte_size = target->GetArchitecture().GetAddressByteSize();
+ uint32_t addr_byte_size = target.GetArchitecture().GetAddressByteSize();
result.GetOutputStream().SetAddressByteSize(addr_byte_size);
result.GetErrorStream().SetAddressByteSize(addr_byte_size);
// Dump all sections for all modules images
@@ -4096,7 +4080,7 @@ class CommandObjectTargetModulesLookup : public CommandObjectParsed {
// Dump all sections for all other modules
- const ModuleList &target_modules = target->GetImages();
+ const ModuleList &target_modules = target.GetImages();
std::lock_guard<std::recursive_mutex> guard(target_modules.GetMutex());
if (target_modules.GetSize() == 0) {
result.AppendError("the target has no associated executable images");
@@ -4119,7 +4103,7 @@ class CommandObjectTargetModulesLookup : public CommandObjectParsed {
++i) {
ModuleList module_list;
const size_t num_matches =
- FindModulesByName(target, arg_cstr, module_list, false);
+ FindModulesByName(&target, arg_cstr, module_list, false);
if (num_matches > 0) {
for (size_t j = 0; j < num_matches; ++j) {
Module *module = module_list.GetModulePointerAtIndex(j);
@@ -4937,10 +4921,7 @@ Filter Options:
m_stop_hook_sp->GetID());
error_sp->Flush();
}
- Target *target = &GetTarget();
- if (target) {
- target->UndoCreateStopHook(m_stop_hook_sp->GetID());
- }
+ GetTarget().UndoCreateStopHook(m_stop_hook_sp->GetID());
} else {
// The IOHandler editor is only for command lines stop hooks:
Target::StopHookCommandLine *hook_ptr =
diff --git a/lldb/source/Commands/CommandObjectWatchpoint.cpp b/lldb/source/Commands/CommandObjectWatchpoint.cpp
index 314c75111a028..126982dfddf88 100644
--- a/lldb/source/Commands/CommandObjectWatchpoint.cpp
+++ b/lldb/source/Commands/CommandObjectWatchpoint.cpp
@@ -39,10 +39,10 @@ static void AddWatchpointDescription(Stream &s, Watchpoint &wp,
s.EOL();
}
-static bool CheckTargetForWatchpointOperations(Target *target,
+static bool CheckTargetForWatchpointOperations(Target &target,
CommandReturnObject &result) {
bool process_is_valid =
- target->GetProcessSP() && target->GetProcessSP()->IsAlive();
+ target.GetProcessSP() && target.GetProcessSP()->IsAlive();
if (!process_is_valid) {
result.AppendError("There's no process or it is not alive.");
return false;
@@ -67,12 +67,10 @@ static int32_t WithRSAIndex(llvm::StringRef Arg) {
// Return true if wp_ids is successfully populated with the watch ids. False
// otherwise.
bool CommandObjectMultiwordWatchpoint::VerifyWatchpointIDs(
- Target *target, Args &args, std::vector<uint32_t> &wp_ids) {
+ Target &target, Args &args, std::vector<uint32_t> &wp_ids) {
// Pre-condition: args.GetArgumentCount() > 0.
if (args.GetArgumentCount() == 0) {
- if (target == nullptr)
- return false;
- WatchpointSP watch_sp = target->GetLastCreatedWatchpoint();
+ WatchpointSP watch_sp = target.GetLastCreatedWatchpoint();
if (watch_sp) {
wp_ids.push_back(watch_sp->GetID());
return true;
@@ -203,22 +201,24 @@ class CommandObjectWatchpointList : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
- if (target->GetProcessSP() && target->GetProcessSP()->IsAlive()) {
- std::optional<uint32_t> num_supported_hardware_watchpoints =
- target->GetProcessSP()->GetWatchpointSlotCount();
+ if (ProcessSP process_sp = target.GetProcessSP()) {
+ if (process_sp->IsAlive()) {
+ std::optional<uint32_t> num_supported_hardware_watchpoints =
+ process_sp->GetWatchpointSlotCount();
- if (num_supported_hardware_watchpoints)
- result.AppendMessageWithFormat(
- "Number of supported hardware watchpoints: %u\n",
- *num_supported_hardware_watchpoints);
+ if (num_supported_hardware_watchpoints)
+ result.AppendMessageWithFormat(
+ "Number of supported hardware watchpoints: %u\n",
+ *num_supported_hardware_watchpoints);
+ }
}
- const WatchpointList &watchpoints = target->GetWatchpointList();
+ const WatchpointList &watchpoints = target.GetWatchpointList();
std::unique_lock<std::recursive_mutex> lock;
- target->GetWatchpointList().GetListMutex(lock);
+ target.GetWatchpointList().GetListMutex(lock);
size_t num_watchpoints = watchpoints.GetSize();
@@ -286,14 +286,14 @@ class CommandObjectWatchpointEnable : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
if (!CheckTargetForWatchpointOperations(target, result))
return;
std::unique_lock<std::recursive_mutex> lock;
- target->GetWatchpointList().GetListMutex(lock);
+ target.GetWatchpointList().GetListMutex(lock);
- const WatchpointList &watchpoints = target->GetWatchpointList();
+ const WatchpointList &watchpoints = target.GetWatchpointList();
size_t num_watchpoints = watchpoints.GetSize();
@@ -304,7 +304,7 @@ class CommandObjectWatchpointEnable : public CommandObjectParsed {
if (command.GetArgumentCount() == 0) {
// No watchpoint selected; enable all currently set watchpoints.
- target->EnableAllWatchpoints();
+ target.EnableAllWatchpoints();
result.AppendMessageWithFormat("All watchpoints enabled. (%" PRIu64
" watchpoints)\n",
(uint64_t)num_watchpoints);
@@ -321,7 +321,7 @@ class CommandObjectWatchpointEnable : public CommandObjectParsed {
int count = 0;
const size_t size = wp_ids.size();
for (size_t i = 0; i < size; ++i)
- if (target->EnableWatchpointByID(wp_ids[i]))
+ if (target.EnableWatchpointByID(wp_ids[i]))
++count;
result.AppendMessageWithFormat("%d watchpoints enabled.\n", count);
result.SetStatus(eReturnStatusSuccessFinishNoResult);
@@ -355,14 +355,14 @@ class CommandObjectWatchpointDisable : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
if (!CheckTargetForWatchpointOperations(target, result))
return;
std::unique_lock<std::recursive_mutex> lock;
- target->GetWatchpointList().GetListMutex(lock);
+ target.GetWatchpointList().GetListMutex(lock);
- const WatchpointList &watchpoints = target->GetWatchpointList();
+ const WatchpointList &watchpoints = target.GetWatchpointList();
size_t num_watchpoints = watchpoints.GetSize();
if (num_watchpoints == 0) {
@@ -372,7 +372,7 @@ class CommandObjectWatchpointDisable : public CommandObjectParsed {
if (command.GetArgumentCount() == 0) {
// No watchpoint selected; disable all currently set watchpoints.
- if (target->DisableAllWatchpoints()) {
+ if (target.DisableAllWatchpoints()) {
result.AppendMessageWithFormat("All watchpoints disabled. (%" PRIu64
" watchpoints)\n",
(uint64_t)num_watchpoints);
@@ -392,7 +392,7 @@ class CommandObjectWatchpointDisable : public CommandObjectParsed {
int count = 0;
const size_t size = wp_ids.size();
for (size_t i = 0; i < size; ++i)
- if (target->DisableWatchpointByID(wp_ids[i]))
+ if (target.DisableWatchpointByID(wp_ids[i]))
++count;
result.AppendMessageWithFormat("%d watchpoints disabled.\n", count);
result.SetStatus(eReturnStatusSuccessFinishNoResult);
@@ -464,14 +464,14 @@ class CommandObjectWatchpointDelete : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
if (!CheckTargetForWatchpointOperations(target, result))
return;
std::unique_lock<std::recursive_mutex> lock;
- target->GetWatchpointList().GetListMutex(lock);
+ target.GetWatchpointList().GetListMutex(lock);
- const WatchpointList &watchpoints = target->GetWatchpointList();
+ const WatchpointList &watchpoints = target.GetWatchpointList();
size_t num_watchpoints = watchpoints.GetSize();
@@ -487,7 +487,7 @@ class CommandObjectWatchpointDelete : public CommandObjectParsed {
true)) {
result.AppendMessage("Operation cancelled...");
} else {
- target->RemoveAllWatchpoints();
+ target.RemoveAllWatchpoints();
result.AppendMessageWithFormat("All watchpoints removed. (%" PRIu64
" watchpoints)\n",
(uint64_t)num_watchpoints);
@@ -507,7 +507,7 @@ class CommandObjectWatchpointDelete : public CommandObjectParsed {
int count = 0;
const size_t size = wp_ids.size();
for (size_t i = 0; i < size; ++i)
- if (target->RemoveWatchpointByID(wp_ids[i]))
+ if (target.RemoveWatchpointByID(wp_ids[i]))
++count;
result.AppendMessageWithFormat("%d watchpoints deleted.\n", count);
result.SetStatus(eReturnStatusSuccessFinishNoResult);
@@ -584,14 +584,14 @@ class CommandObjectWatchpointIgnore : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
if (!CheckTargetForWatchpointOperations(target, result))
return;
std::unique_lock<std::recursive_mutex> lock;
- target->GetWatchpointList().GetListMutex(lock);
+ target.GetWatchpointList().GetListMutex(lock);
- const WatchpointList &watchpoints = target->GetWatchpointList();
+ const WatchpointList &watchpoints = target.GetWatchpointList();
size_t num_watchpoints = watchpoints.GetSize();
@@ -601,7 +601,7 @@ class CommandObjectWatchpointIgnore : public CommandObjectParsed {
}
if (command.GetArgumentCount() == 0) {
- target->IgnoreAllWatchpoints(m_options.m_ignore_count);
+ target.IgnoreAllWatchpoints(m_options.m_ignore_count);
result.AppendMessageWithFormat("All watchpoints ignored. (%" PRIu64
" watchpoints)\n",
(uint64_t)num_watchpoints);
@@ -618,7 +618,7 @@ class CommandObjectWatchpointIgnore : public CommandObjectParsed {
int count = 0;
const size_t size = wp_ids.size();
for (size_t i = 0; i < size; ++i)
- if (target->IgnoreWatchpointByID(wp_ids[i], m_options.m_ignore_count))
+ if (target.IgnoreWatchpointByID(wp_ids[i], m_options.m_ignore_count))
++count;
result.AppendMessageWithFormat("%d watchpoints ignored.\n", count);
result.SetStatus(eReturnStatusSuccessFinishNoResult);
@@ -703,14 +703,14 @@ class CommandObjectWatchpointModify : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
if (!CheckTargetForWatchpointOperations(target, result))
return;
std::unique_lock<std::recursive_mutex> lock;
- target->GetWatchpointList().GetListMutex(lock);
+ target.GetWatchpointList().GetListMutex(lock);
- const WatchpointList &watchpoints = target->GetWatchpointList();
+ const WatchpointList &watchpoints = target.GetWatchpointList();
size_t num_watchpoints = watchpoints.GetSize();
@@ -720,7 +720,7 @@ class CommandObjectWatchpointModify : public CommandObjectParsed {
}
if (command.GetArgumentCount() == 0) {
- WatchpointSP watch_sp = target->GetLastCreatedWatchpoint();
+ WatchpointSP watch_sp = target.GetLastCreatedWatchpoint();
watch_sp->SetCondition(m_options.m_condition.c_str());
result.SetStatus(eReturnStatusSuccessFinishNoResult);
} else {
@@ -804,7 +804,7 @@ corresponding to the byte size of the data type.");
}
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
StackFrame *frame = m_exe_ctx.GetFramePtr();
// If no argument is present, issue an error message. There's no way to
@@ -852,8 +852,8 @@ corresponding to the byte size of the data type.");
Status error(Variable::GetValuesForVariableExpressionPath(
command.GetArgumentAtIndex(0),
- m_exe_ctx.GetBestExecutionContextScope(), GetVariableCallback, target,
- variable_list, valobj_list));
+ m_exe_ctx.GetBestExecutionContextScope(), GetVariableCallback,
+ &target, variable_list, valobj_list));
if (valobj_list.GetSize())
valobj_sp = valobj_list.GetValueObjectAtIndex(0);
@@ -904,7 +904,7 @@ corresponding to the byte size of the data type.");
error.Clear();
WatchpointSP watch_sp =
- target->CreateWatchpoint(addr, size, &compiler_type, watch_type, error);
+ target.CreateWatchpoint(addr, size, &compiler_type, watch_type, error);
if (!watch_sp) {
result.AppendErrorWithFormat(
"Watchpoint creation failed (addr=0x%" PRIx64 ", size=%" PRIu64
@@ -991,7 +991,7 @@ class CommandObjectWatchpointSetExpression : public CommandObjectRaw {
m_option_group.NotifyOptionParsingStarting(
&exe_ctx); // This is a raw command, so notify the option group
- Target *target = &GetTarget();
+ Target &target = GetTarget();
StackFrame *frame = m_exe_ctx.GetFramePtr();
OptionsWithRaw args(raw_command);
@@ -1034,7 +1034,7 @@ class CommandObjectWatchpointSetExpression : public CommandObjectRaw {
options.SetLanguage(m_option_watchpoint.language_type);
ExpressionResults expr_result =
- target->EvaluateExpression(expr, frame, valobj_sp, options);
+ target.EvaluateExpression(expr, frame, valobj_sp, options);
if (expr_result != eExpressionCompleted) {
result.AppendError("expression evaluation of address to watch failed");
result.AppendErrorWithFormat("expression evaluated: \n%s", expr.data());
@@ -1054,7 +1054,7 @@ class CommandObjectWatchpointSetExpression : public CommandObjectRaw {
if (m_option_watchpoint.watch_size.GetCurrentValue() != 0)
size = m_option_watchpoint.watch_size.GetCurrentValue();
else
- size = target->GetArchitecture().GetAddressByteSize();
+ size = target.GetArchitecture().GetAddressByteSize();
// Now it's time to create the watchpoint.
uint32_t watch_type;
@@ -1095,7 +1095,7 @@ class CommandObjectWatchpointSetExpression : public CommandObjectRaw {
Status error;
WatchpointSP watch_sp =
- target->CreateWatchpoint(addr, size, &compiler_type, watch_type, error);
+ target.CreateWatchpoint(addr, size, &compiler_type, watch_type, error);
if (watch_sp) {
watch_sp->SetWatchSpec(std::string(expr));
Stream &output_stream = result.GetOutputStream();
diff --git a/lldb/source/Commands/CommandObjectWatchpoint.h b/lldb/source/Commands/CommandObjectWatchpoint.h
index 87f9f4383bd27..a68491103ef51 100644
--- a/lldb/source/Commands/CommandObjectWatchpoint.h
+++ b/lldb/source/Commands/CommandObjectWatchpoint.h
@@ -22,7 +22,7 @@ class CommandObjectMultiwordWatchpoint : public CommandObjectMultiword {
~CommandObjectMultiwordWatchpoint() override;
- static bool VerifyWatchpointIDs(Target *target, Args &args,
+ static bool VerifyWatchpointIDs(Target &target, Args &args,
std::vector<uint32_t> &wp_ids);
};
diff --git a/lldb/source/Commands/CommandObjectWatchpointCommand.cpp b/lldb/source/Commands/CommandObjectWatchpointCommand.cpp
index b4743eb3d8757..cc4cb76764866 100644
--- a/lldb/source/Commands/CommandObjectWatchpointCommand.cpp
+++ b/lldb/source/Commands/CommandObjectWatchpointCommand.cpp
@@ -355,9 +355,9 @@ are no syntax errors may indicate that a function was declared but never called.
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
- const WatchpointList &watchpoints = target->GetWatchpointList();
+ const WatchpointList &watchpoints = target.GetWatchpointList();
size_t num_watchpoints = watchpoints.GetSize();
if (num_watchpoints == 0) {
@@ -384,7 +384,7 @@ are no syntax errors may indicate that a function was declared but never called.
for (size_t i = 0; i < count; ++i) {
uint32_t cur_wp_id = valid_wp_ids.at(i);
if (cur_wp_id != LLDB_INVALID_WATCH_ID) {
- Watchpoint *wp = target->GetWatchpointList().FindByID(cur_wp_id).get();
+ Watchpoint *wp = target.GetWatchpointList().FindByID(cur_wp_id).get();
// Sanity check wp first.
if (wp == nullptr)
continue;
@@ -450,9 +450,9 @@ class CommandObjectWatchpointCommandDelete : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
- const WatchpointList &watchpoints = target->GetWatchpointList();
+ const WatchpointList &watchpoints = target.GetWatchpointList();
size_t num_watchpoints = watchpoints.GetSize();
if (num_watchpoints == 0) {
@@ -478,7 +478,7 @@ class CommandObjectWatchpointCommandDelete : public CommandObjectParsed {
for (size_t i = 0; i < count; ++i) {
uint32_t cur_wp_id = valid_wp_ids.at(i);
if (cur_wp_id != LLDB_INVALID_WATCH_ID) {
- Watchpoint *wp = target->GetWatchpointList().FindByID(cur_wp_id).get();
+ Watchpoint *wp = target.GetWatchpointList().FindByID(cur_wp_id).get();
if (wp)
wp->ClearCallback();
} else {
@@ -505,9 +505,9 @@ class CommandObjectWatchpointCommandList : public CommandObjectParsed {
protected:
void DoExecute(Args &command, CommandReturnObject &result) override {
- Target *target = &GetTarget();
+ Target &target = GetTarget();
- const WatchpointList &watchpoints = target->GetWatchpointList();
+ const WatchpointList &watchpoints = target.GetWatchpointList();
size_t num_watchpoints = watchpoints.GetSize();
if (num_watchpoints == 0) {
@@ -533,7 +533,7 @@ class CommandObjectWatchpointCommandList : public CommandObjectParsed {
for (size_t i = 0; i < count; ++i) {
uint32_t cur_wp_id = valid_wp_ids.at(i);
if (cur_wp_id != LLDB_INVALID_WATCH_ID) {
- Watchpoint *wp = target->GetWatchpointList().FindByID(cur_wp_id).get();
+ Watchpoint *wp = target.GetWatchpointList().FindByID(cur_wp_id).get();
if (wp) {
const WatchpointOptions *wp_options = wp->GetOptions();
More information about the lldb-commits
mailing list