[Target] Fix formatting and whitespace (NFC)

llvm-svn: 366522
This commit is contained in:
Jonas Devlieghere 2019-07-19 00:56:26 +00:00
parent 0288c26968
commit d3607756dd
2 changed files with 188 additions and 201 deletions

View File

@ -121,7 +121,7 @@ public:
FileSpecList GetExecutableSearchPaths();
void AppendExecutableSearchPaths(const FileSpec&);
void AppendExecutableSearchPaths(const FileSpec &);
FileSpecList GetDebugFileSearchPaths();
@ -495,7 +495,7 @@ public:
static void SetDefaultArchitecture(const ArchSpec &arch);
/// Find a binary on the system and return its Module,
/// Find a binary on the system and return its Module,
/// or return an existing Module that is already in the Target.
///
/// Given a ModuleSpec, find a binary satisifying that specification,
@ -507,27 +507,26 @@ public:
/// e.g. UUID, architecture, file path.
///
/// \param[in] notify
/// If notify is true, and the Module is new to this Target,
/// Target::ModulesDidLoad will be called.
/// If notify is false, it is assumed that the caller is adding
/// multiple Modules and will call ModulesDidLoad with the
/// If notify is true, and the Module is new to this Target,
/// Target::ModulesDidLoad will be called.
/// If notify is false, it is assumed that the caller is adding
/// multiple Modules and will call ModulesDidLoad with the
/// full list at the end.
/// ModulesDidLoad must be called when a Module/Modules have
/// been added to the target, one way or the other.
///
/// \param[out] error_ptr
/// Optional argument, pointing to a Status object to fill in
/// Optional argument, pointing to a Status object to fill in
/// with any results / messages while attempting to find/load
/// this binary. Many callers will be internal functions that
/// will handle / summarize the failures in a custom way and
/// don't use these messages.
///
/// \return
/// \return
/// An empty ModuleSP will be returned if no matching file
/// was found. If error_ptr was non-nullptr, an error message
/// will likely be provided.
lldb::ModuleSP GetOrCreateModule(const ModuleSpec &module_spec,
bool notify,
lldb::ModuleSP GetOrCreateModule(const ModuleSpec &module_spec, bool notify,
Status *error_ptr = nullptr);
// Settings accessors
@ -644,14 +643,11 @@ public:
Args *additional_args = nullptr,
Status *additional_args_error = nullptr);
lldb::BreakpointSP
CreateScriptedBreakpoint(const llvm::StringRef class_name,
const FileSpecList *containingModules,
const FileSpecList *containingSourceFiles,
bool internal,
bool request_hardware,
StructuredData::ObjectSP extra_args_sp,
Status *creation_error = nullptr);
lldb::BreakpointSP CreateScriptedBreakpoint(
const llvm::StringRef class_name, const FileSpecList *containingModules,
const FileSpecList *containingSourceFiles, bool internal,
bool request_hardware, StructuredData::ObjectSP extra_args_sp,
Status *creation_error = nullptr);
// This is the same as the func_name breakpoint except that you can specify a
// vector of names. This is cheaper than a regular expression breakpoint in
@ -690,43 +686,42 @@ public:
}
WatchpointList &GetWatchpointList() { return m_watchpoint_list; }
// Manages breakpoint names:
void AddNameToBreakpoint(BreakpointID &id, const char *name, Status &error);
void AddNameToBreakpoint(lldb::BreakpointSP &bp_sp, const char *name,
void AddNameToBreakpoint(lldb::BreakpointSP &bp_sp, const char *name,
Status &error);
void RemoveNameFromBreakpoint(lldb::BreakpointSP &bp_sp,
ConstString name);
BreakpointName *FindBreakpointName(ConstString name, bool can_create,
void RemoveNameFromBreakpoint(lldb::BreakpointSP &bp_sp, ConstString name);
BreakpointName *FindBreakpointName(ConstString name, bool can_create,
Status &error);
void DeleteBreakpointName(ConstString name);
void ConfigureBreakpointName(BreakpointName &bp_name,
const BreakpointOptions &options,
const BreakpointName::Permissions &permissions);
void ApplyNameToBreakpoints(BreakpointName &bp_name);
void ApplyNameToBreakpoints(BreakpointName &bp_name);
// This takes ownership of the name obj passed in.
void AddBreakpointName(BreakpointName *bp_name);
void GetBreakpointNames(std::vector<std::string> &names);
//This call removes ALL breakpoints regardless of permission.
// This call removes ALL breakpoints regardless of permission.
void RemoveAllBreakpoints(bool internal_also = false);
// This removes all the breakpoints, but obeys the ePermDelete on them.
void RemoveAllowedBreakpoints();
void DisableAllBreakpoints(bool internal_also = false);
void DisableAllowedBreakpoints();
void EnableAllBreakpoints(bool internal_also = false);
void EnableAllowedBreakpoints();
bool DisableBreakpointByID(lldb::break_id_t break_id);
@ -1038,11 +1033,12 @@ public:
// parameters have the same meaning as for the UserExpression constructor.
// Returns a new-ed object which the caller owns.
UserExpression *GetUserExpressionForLanguage(
llvm::StringRef expr, llvm::StringRef prefix, lldb::LanguageType language,
Expression::ResultType desired_type,
const EvaluateExpressionOptions &options,
ValueObject *ctx_obj, Status &error);
UserExpression *
GetUserExpressionForLanguage(llvm::StringRef expr, llvm::StringRef prefix,
lldb::LanguageType language,
Expression::ResultType desired_type,
const EvaluateExpressionOptions &options,
ValueObject *ctx_obj, Status &error);
// Creates a FunctionCaller for the given language, the rest of the
// parameters have the same meaning as for the FunctionCaller constructor.
@ -1104,8 +1100,7 @@ public:
llvm::StringRef expression, ExecutionContextScope *exe_scope,
lldb::ValueObjectSP &result_valobj_sp,
const EvaluateExpressionOptions &options = EvaluateExpressionOptions(),
std::string *fixed_expression = nullptr,
ValueObject *ctx_obj = nullptr);
std::string *fixed_expression = nullptr, ValueObject *ctx_obj = nullptr);
lldb::ExpressionVariableSP GetPersistentVariable(ConstString name);
@ -1165,7 +1160,9 @@ public:
void SetIsActive(bool is_active) { m_active = is_active; }
void SetAutoContinue(bool auto_continue) {m_auto_continue = auto_continue;}
void SetAutoContinue(bool auto_continue) {
m_auto_continue = auto_continue;
}
bool GetAutoContinue() const { return m_auto_continue; }
@ -1260,7 +1257,7 @@ protected:
const lldb::ModuleSP &module_sp) override;
void NotifyModuleRemoved(const ModuleList &module_list,
const lldb::ModuleSP &module_sp) override;
const lldb::ModuleSP &module_sp) override;
void NotifyModuleUpdated(const ModuleList &module_list,
const lldb::ModuleSP &old_module_sp,
@ -1295,7 +1292,7 @@ protected:
BreakpointList m_internal_breakpoint_list;
using BreakpointNameList = std::map<ConstString, BreakpointName *>;
BreakpointNameList m_breakpoint_names;
lldb::BreakpointSP m_last_created_breakpoint;
WatchpointList m_watchpoint_list;
lldb::WatchpointSP m_last_created_watchpoint;

View File

@ -71,7 +71,7 @@ Target::Arch::Arch(const ArchSpec &spec)
: m_spec(spec),
m_plugin_up(PluginManager::CreateArchitectureInstance(spec)) {}
const Target::Arch& Target::Arch::operator=(const ArchSpec &spec) {
const Target::Arch &Target::Arch::operator=(const ArchSpec &spec) {
m_spec = spec;
m_plugin_up = PluginManager::CreateArchitectureInstance(spec);
return *this;
@ -137,10 +137,9 @@ void Target::PrimeFromDummyTarget(Target *target) {
BreakpointSP new_bp(new Breakpoint(*this, *breakpoint_sp.get()));
AddBreakpoint(new_bp, false);
}
for (auto bp_name_entry : target->m_breakpoint_names)
{
for (auto bp_name_entry : target->m_breakpoint_names) {
BreakpointName *new_bp_name = new BreakpointName(*bp_name_entry.second);
AddBreakpointName(new_bp_name);
}
@ -584,34 +583,31 @@ Target::CreateExceptionBreakpoint(enum lldb::LanguageType language,
return exc_bkpt_sp;
}
lldb::BreakpointSP
Target::CreateScriptedBreakpoint(const llvm::StringRef class_name,
const FileSpecList *containingModules,
const FileSpecList *containingSourceFiles,
bool internal,
bool request_hardware,
StructuredData::ObjectSP extra_args_sp,
Status *creation_error)
{
lldb::BreakpointSP Target::CreateScriptedBreakpoint(
const llvm::StringRef class_name, const FileSpecList *containingModules,
const FileSpecList *containingSourceFiles, bool internal,
bool request_hardware, StructuredData::ObjectSP extra_args_sp,
Status *creation_error) {
SearchFilterSP filter_sp;
lldb::SearchDepth depth = lldb::eSearchDepthTarget;
bool has_files = containingSourceFiles && containingSourceFiles->GetSize() > 0;
bool has_files =
containingSourceFiles && containingSourceFiles->GetSize() > 0;
bool has_modules = containingModules && containingModules->GetSize() > 0;
if (has_files && has_modules) {
filter_sp = GetSearchFilterForModuleAndCUList(
containingModules, containingSourceFiles);
filter_sp = GetSearchFilterForModuleAndCUList(containingModules,
containingSourceFiles);
} else if (has_files) {
filter_sp = GetSearchFilterForModuleAndCUList(
nullptr, containingSourceFiles);
filter_sp =
GetSearchFilterForModuleAndCUList(nullptr, containingSourceFiles);
} else if (has_modules) {
filter_sp = GetSearchFilterForModuleList(containingModules);
} else {
filter_sp = std::make_shared<SearchFilterForUnconstrainedSearches>(
shared_from_this());
}
StructuredDataImpl *extra_args_impl = new StructuredDataImpl();
if (extra_args_sp)
extra_args_impl->SetObjectSP(extra_args_sp);
@ -620,10 +616,8 @@ Target::CreateScriptedBreakpoint(const llvm::StringRef class_name,
nullptr, class_name, depth, extra_args_impl,
*GetDebugger().GetScriptInterpreter()));
return CreateBreakpoint(filter_sp, resolver_sp, internal, false, true);
}
BreakpointSP Target::CreateBreakpoint(SearchFilterSP &filter_sp,
BreakpointResolverSP &resolver_sp,
bool internal, bool request_hardware,
@ -662,71 +656,61 @@ void Target::AddBreakpoint(lldb::BreakpointSP bp_sp, bool internal) {
}
}
void Target::AddNameToBreakpoint(BreakpointID &id,
const char *name,
Status &error)
{
BreakpointSP bp_sp
= m_breakpoint_list.FindBreakpointByID(id.GetBreakpointID());
if (!bp_sp)
{
StreamString s;
id.GetDescription(&s, eDescriptionLevelBrief);
error.SetErrorStringWithFormat("Could not find breakpoint %s",
s.GetData());
return;
}
AddNameToBreakpoint(bp_sp, name, error);
}
void Target::AddNameToBreakpoint(BreakpointID &id, const char *name,
Status &error) {
BreakpointSP bp_sp =
m_breakpoint_list.FindBreakpointByID(id.GetBreakpointID());
if (!bp_sp) {
StreamString s;
id.GetDescription(&s, eDescriptionLevelBrief);
error.SetErrorStringWithFormat("Could not find breakpoint %s", s.GetData());
return;
}
AddNameToBreakpoint(bp_sp, name, error);
}
void Target::AddNameToBreakpoint(BreakpointSP &bp_sp,
const char *name,
Status &error)
{
if (!bp_sp)
return;
BreakpointName *bp_name = FindBreakpointName(ConstString(name), true, error);
if (!bp_name)
return;
void Target::AddNameToBreakpoint(BreakpointSP &bp_sp, const char *name,
Status &error) {
if (!bp_sp)
return;
bp_name->ConfigureBreakpoint(bp_sp);
bp_sp->AddName(name);
}
BreakpointName *bp_name = FindBreakpointName(ConstString(name), true, error);
if (!bp_name)
return;
bp_name->ConfigureBreakpoint(bp_sp);
bp_sp->AddName(name);
}
void Target::AddBreakpointName(BreakpointName *bp_name) {
m_breakpoint_names.insert(std::make_pair(bp_name->GetName(), bp_name));
}
BreakpointName *Target::FindBreakpointName(ConstString name,
bool can_create,
Status &error)
{
BreakpointName *Target::FindBreakpointName(ConstString name, bool can_create,
Status &error) {
BreakpointID::StringIsBreakpointName(name.GetStringRef(), error);
if (!error.Success())
return nullptr;
BreakpointNameList::iterator iter = m_breakpoint_names.find(name);
if (iter == m_breakpoint_names.end()) {
if (!can_create)
{
if (!can_create) {
error.SetErrorStringWithFormat("Breakpoint name \"%s\" doesn't exist and "
"can_create is false.", name.AsCString());
"can_create is false.",
name.AsCString());
return nullptr;
}
iter = m_breakpoint_names.insert(std::make_pair(name,
new BreakpointName(name)))
.first;
iter = m_breakpoint_names
.insert(std::make_pair(name, new BreakpointName(name)))
.first;
}
return (iter->second);
}
void
Target::DeleteBreakpointName(ConstString name)
{
void Target::DeleteBreakpointName(ConstString name) {
BreakpointNameList::iterator iter = m_breakpoint_names.find(name);
if (iter != m_breakpoint_names.end()) {
const char *name_cstr = name.AsCString();
m_breakpoint_names.erase(iter);
@ -736,15 +720,13 @@ Target::DeleteBreakpointName(ConstString name)
}
void Target::RemoveNameFromBreakpoint(lldb::BreakpointSP &bp_sp,
ConstString name)
{
ConstString name) {
bp_sp->RemoveName(name.AsCString());
}
void Target::ConfigureBreakpointName(BreakpointName &bp_name,
const BreakpointOptions &new_options,
const BreakpointName::Permissions &new_permissions)
{
void Target::ConfigureBreakpointName(
BreakpointName &bp_name, const BreakpointOptions &new_options,
const BreakpointName::Permissions &new_permissions) {
bp_name.GetOptions().CopyOverSetOptions(new_options);
bp_name.GetPermissions().MergeInto(new_permissions);
ApplyNameToBreakpoints(bp_name);
@ -752,15 +734,14 @@ void Target::ConfigureBreakpointName(BreakpointName &bp_name,
void Target::ApplyNameToBreakpoints(BreakpointName &bp_name) {
BreakpointList bkpts_with_name(false);
m_breakpoint_list.FindBreakpointsByName(bp_name.GetName().AsCString(),
m_breakpoint_list.FindBreakpointsByName(bp_name.GetName().AsCString(),
bkpts_with_name);
for (auto bp_sp : bkpts_with_name.Breakpoints())
bp_name.ConfigureBreakpoint(bp_sp);
}
void Target::GetBreakpointNames(std::vector<std::string> &names)
{
void Target::GetBreakpointNames(std::vector<std::string> &names) {
names.clear();
for (auto bp_name : m_breakpoint_names) {
names.push_back(bp_name.first.AsCString());
@ -875,14 +856,13 @@ WatchpointSP Target::CreateWatchpoint(lldb::addr_t addr, size_t size,
return wp_sp;
}
void Target::RemoveAllowedBreakpoints ()
{
void Target::RemoveAllowedBreakpoints() {
Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_BREAKPOINTS));
if (log)
log->Printf("Target::%s \n", __FUNCTION__);
m_breakpoint_list.RemoveAllowed(true);
m_last_created_breakpoint.reset();
}
@ -1399,9 +1379,8 @@ static void LoadScriptingResourceForModule(const ModuleSP &module_sp,
Target *target) {
Status error;
StreamString feedback_stream;
if (module_sp &&
!module_sp->LoadScriptingResourceInTarget(target, error,
&feedback_stream)) {
if (module_sp && !module_sp->LoadScriptingResourceInTarget(
target, error, &feedback_stream)) {
if (error.AsCString())
target->GetDebugger().GetErrorFile()->Printf(
"unable to load scripting data for module %s - error reported was "
@ -1440,7 +1419,8 @@ void Target::SetExecutableModule(ModuleSP &executable_sp,
executable_sp->GetFileSpec().GetPath().c_str());
const bool notify = true;
m_images.Append(executable_sp, notify); // The first image is our executable file
m_images.Append(executable_sp,
notify); // The first image is our executable file
// If we haven't set an architecture yet, reset our architecture based on
// what we found in the executable module.
@ -1481,10 +1461,10 @@ void Target::SetExecutableModule(ModuleSP &executable_sp,
platform_dependent_file_spec = dependent_file_spec;
ModuleSpec module_spec(platform_dependent_file_spec, m_arch.GetSpec());
ModuleSP image_module_sp(GetOrCreateModule(module_spec,
false /* notify */));
ModuleSP image_module_sp(
GetOrCreateModule(module_spec, false /* notify */));
if (image_module_sp) {
added_modules.AppendIfNeeded (image_module_sp, false);
added_modules.AppendIfNeeded(image_module_sp, false);
ObjectFile *objfile = image_module_sp->GetObjectFile();
if (objfile)
objfile->GetDependentModules(dependent_files);
@ -1531,8 +1511,9 @@ bool Target::SetArchitecture(const ArchSpec &arch_spec, bool set_platform) {
bool arch_changed, vendor_changed, os_changed, os_ver_changed,
env_changed;
m_arch.GetSpec().PiecewiseTripleCompare(other, arch_changed, vendor_changed,
os_changed, os_ver_changed, env_changed);
m_arch.GetSpec().PiecewiseTripleCompare(other, arch_changed,
vendor_changed, os_changed,
os_ver_changed, env_changed);
if (!arch_changed && !vendor_changed && !os_changed && !env_changed)
replace_local_arch = false;
@ -1573,8 +1554,7 @@ bool Target::SetArchitecture(const ArchSpec &arch_spec, bool set_platform) {
ModuleSpec module_spec(executable_sp->GetFileSpec(), other);
FileSpecList search_paths = GetExecutableSearchPaths();
Status error = ModuleList::GetSharedModule(module_spec, executable_sp,
&search_paths,
nullptr, nullptr);
&search_paths, nullptr, nullptr);
if (!error.Fail() && executable_sp) {
SetExecutableModule(executable_sp, eLoadDependentsYes);
@ -1592,10 +1572,11 @@ bool Target::MergeArchitecture(const ArchSpec &arch_spec) {
// improve our current architecture using bits from "arch_spec"
if (log)
log->Printf("Target::MergeArchitecture target has arch %s, merging with "
"arch %s",
m_arch.GetSpec().GetTriple().getTriple().c_str(),
arch_spec.GetTriple().getTriple().c_str());
log->Printf(
"Target::MergeArchitecture target has arch %s, merging with "
"arch %s",
m_arch.GetSpec().GetTriple().getTriple().c_str(),
arch_spec.GetTriple().getTriple().c_str());
// Merge bits from arch_spec into "merged_arch" and set our architecture
ArchSpec merged_arch(m_arch.GetSpec());
@ -1612,7 +1593,7 @@ bool Target::MergeArchitecture(const ArchSpec &arch_spec) {
void Target::NotifyWillClearList(const ModuleList &module_list) {}
void Target::NotifyModuleAdded(const ModuleList &module_list,
const ModuleSP &module_sp) {
const ModuleSP &module_sp) {
// A module is being added to this target for the first time
if (m_valid) {
ModuleList my_module_list;
@ -1622,7 +1603,7 @@ void Target::NotifyModuleAdded(const ModuleList &module_list,
}
void Target::NotifyModuleRemoved(const ModuleList &module_list,
const ModuleSP &module_sp) {
const ModuleSP &module_sp) {
// A module is being removed from this target.
if (m_valid) {
ModuleList my_module_list;
@ -1632,8 +1613,8 @@ void Target::NotifyModuleRemoved(const ModuleList &module_list,
}
void Target::NotifyModuleUpdated(const ModuleList &module_list,
const ModuleSP &old_module_sp,
const ModuleSP &new_module_sp) {
const ModuleSP &old_module_sp,
const ModuleSP &new_module_sp) {
// A module is replacing an already added module
if (m_valid) {
m_breakpoint_list.UpdateBreakpointsWhenModuleIsReplaced(old_module_sp,
@ -1644,10 +1625,9 @@ void Target::NotifyModuleUpdated(const ModuleList &module_list,
}
void Target::NotifyModulesRemoved(lldb_private::ModuleList &module_list) {
ModulesDidUnload (module_list, false);
ModulesDidUnload(module_list, false);
}
void Target::ModulesDidLoad(ModuleList &module_list) {
const size_t num_images = module_list.GetSize();
if (m_valid && num_images) {
@ -1967,8 +1947,8 @@ bool Target::ReadPointerFromMemory(const Address &addr, bool prefer_file_cache,
Status &error, Address &pointer_addr) {
Scalar scalar;
if (ReadScalarIntegerFromMemory(addr, prefer_file_cache,
m_arch.GetSpec().GetAddressByteSize(), false, scalar,
error)) {
m_arch.GetSpec().GetAddressByteSize(), false,
scalar, error)) {
addr_t pointer_vm_addr = scalar.ULongLong(LLDB_INVALID_ADDRESS);
if (pointer_vm_addr != LLDB_INVALID_ADDRESS) {
SectionLoadList &section_load_list = GetSectionLoadList();
@ -2021,8 +2001,8 @@ ModuleSP Target::GetOrCreateModule(const ModuleSpec &module_spec, bool notify,
transformed_spec.GetFileSpec().GetFilename() =
module_spec.GetFileSpec().GetFilename();
error = ModuleList::GetSharedModule(transformed_spec, module_sp,
&search_paths,
&old_module_sp, &did_create_module);
&search_paths, &old_module_sp,
&did_create_module);
}
}
@ -2037,9 +2017,9 @@ ModuleSP Target::GetOrCreateModule(const ModuleSpec &module_spec, bool notify,
// cache.
if (module_spec.GetUUID().IsValid()) {
// We have a UUID, it is OK to check the global module list...
error = ModuleList::GetSharedModule(module_spec, module_sp,
&search_paths,
&old_module_sp, &did_create_module);
error =
ModuleList::GetSharedModule(module_spec, module_sp, &search_paths,
&old_module_sp, &did_create_module);
}
if (!module_sp) {
@ -2047,8 +2027,8 @@ ModuleSP Target::GetOrCreateModule(const ModuleSpec &module_spec, bool notify,
// module in the shared module cache.
if (m_platform_sp) {
error = m_platform_sp->GetSharedModule(
module_spec, m_process_sp.get(), module_sp,
&search_paths, &old_module_sp, &did_create_module);
module_spec, m_process_sp.get(), module_sp, &search_paths,
&old_module_sp, &did_create_module);
} else {
error.SetErrorString("no platform is currently set");
}
@ -2120,9 +2100,8 @@ ModuleSP Target::GetOrCreateModule(const ModuleSpec &module_spec, bool notify,
if (GetPreloadSymbols())
module_sp->PreloadSymbols();
if (old_module_sp &&
m_images.GetIndexForModule(old_module_sp.get()) !=
LLDB_INVALID_INDEX32) {
if (old_module_sp && m_images.GetIndexForModule(old_module_sp.get()) !=
LLDB_INVALID_INDEX32) {
m_images.ReplaceModule(old_module_sp, module_sp);
Module *old_module_ptr = old_module_sp.get();
old_module_sp.reset();
@ -2214,8 +2193,8 @@ Target::GetPersistentExpressionStateForLanguage(lldb::LanguageType language) {
UserExpression *Target::GetUserExpressionForLanguage(
llvm::StringRef expr, llvm::StringRef prefix, lldb::LanguageType language,
Expression::ResultType desired_type,
const EvaluateExpressionOptions &options,
ValueObject *ctx_obj, Status &error) {
const EvaluateExpressionOptions &options, ValueObject *ctx_obj,
Status &error) {
Status type_system_error;
TypeSystem *type_system =
@ -2340,10 +2319,11 @@ ArchSpec Target::GetDefaultArchitecture() {
void Target::SetDefaultArchitecture(const ArchSpec &arch) {
TargetPropertiesSP properties_sp(Target::GetGlobalProperties());
if (properties_sp) {
LogIfAnyCategoriesSet(
LIBLLDB_LOG_TARGET, "Target::SetDefaultArchitecture setting target's "
"default architecture to %s (%s)",
arch.GetArchitectureName(), arch.GetTriple().getTriple().c_str());
LogIfAnyCategoriesSet(LIBLLDB_LOG_TARGET,
"Target::SetDefaultArchitecture setting target's "
"default architecture to %s (%s)",
arch.GetArchitectureName(),
arch.GetTriple().getTriple().c_str());
return properties_sp->SetDefaultArchitecture(arch);
}
}
@ -2378,7 +2358,8 @@ ExpressionResults Target::EvaluateExpression(
bool old_suppress_value = m_suppress_stop_hooks;
m_suppress_stop_hooks = true;
auto on_exit = llvm::make_scope_exit([this, old_suppress_value]() {
m_suppress_stop_hooks = old_suppress_value; });
m_suppress_stop_hooks = old_suppress_value;
});
ExecutionContext exe_ctx;
@ -2415,8 +2396,7 @@ ExpressionResults Target::EvaluateExpression(
return execution_results;
}
lldb::ExpressionVariableSP
Target::GetPersistentVariable(ConstString name) {
lldb::ExpressionVariableSP Target::GetPersistentVariable(ConstString name) {
lldb::ExpressionVariableSP variable_sp;
m_scratch_type_system_map.ForEach(
[name, &variable_sp](TypeSystem *type_system) -> bool {
@ -2467,18 +2447,18 @@ llvm::Expected<lldb_private::Address> Target::GetEntryPointAddress() {
llvm::inconvertibleErrorCode());
}
const ModuleList &modules = GetImages();
const size_t num_images = modules.GetSize();
for (size_t idx = 0; idx < num_images; ++idx) {
ModuleSP module_sp(modules.GetModuleAtIndex(idx));
if (!module_sp || !module_sp->GetObjectFile())
continue;
const ModuleList &modules = GetImages();
const size_t num_images = modules.GetSize();
for (size_t idx = 0; idx < num_images; ++idx) {
ModuleSP module_sp(modules.GetModuleAtIndex(idx));
if (!module_sp || !module_sp->GetObjectFile())
continue;
Address entry_addr = module_sp->GetObjectFile()->GetEntryPointAddress();
if (entry_addr.IsValid()) {
// Discard the error.
llvm::consumeError(std::move(error));
return entry_addr;
Address entry_addr = module_sp->GetObjectFile()->GetEntryPointAddress();
if (entry_addr.IsValid()) {
// Discard the error.
llvm::consumeError(std::move(error));
return entry_addr;
}
}
@ -2488,21 +2468,21 @@ llvm::Expected<lldb_private::Address> Target::GetEntryPointAddress() {
lldb::addr_t Target::GetCallableLoadAddress(lldb::addr_t load_addr,
AddressClass addr_class) const {
auto arch_plugin = GetArchitecturePlugin();
return arch_plugin ?
arch_plugin->GetCallableLoadAddress(load_addr, addr_class) : load_addr;
return arch_plugin
? arch_plugin->GetCallableLoadAddress(load_addr, addr_class)
: load_addr;
}
lldb::addr_t Target::GetOpcodeLoadAddress(lldb::addr_t load_addr,
AddressClass addr_class) const {
auto arch_plugin = GetArchitecturePlugin();
return arch_plugin ?
arch_plugin->GetOpcodeLoadAddress(load_addr, addr_class) : load_addr;
return arch_plugin ? arch_plugin->GetOpcodeLoadAddress(load_addr, addr_class)
: load_addr;
}
lldb::addr_t Target::GetBreakableLoadAddress(lldb::addr_t addr) {
auto arch_plugin = GetArchitecturePlugin();
return arch_plugin ?
arch_plugin->GetBreakableLoadAddress(addr, *this) : addr;
return arch_plugin ? arch_plugin->GetBreakableLoadAddress(addr, *this) : addr;
}
SourceManager &Target::GetSourceManager() {
@ -2576,7 +2556,7 @@ void Target::RunStopHooks() {
if (!m_process_sp)
return;
// Somebody might have restarted the process:
if (m_process_sp->GetState() != eStateStopped)
return;
@ -2695,11 +2675,12 @@ void Target::RunStopHooks() {
// But only complain if there were more stop hooks to do:
StopHookCollection::iterator tmp = pos;
if (++tmp != end)
result.AppendMessageWithFormat("\nAborting stop hooks, hook %" PRIu64
" set the program running.\n"
" Consider using '-G true' to make "
"stop hooks auto-continue.\n",
cur_hook_sp->GetID());
result.AppendMessageWithFormat(
"\nAborting stop hooks, hook %" PRIu64
" set the program running.\n"
" Consider using '-G true' to make "
"stop hooks auto-continue.\n",
cur_hook_sp->GetID());
keep_going = false;
did_restart = true;
}
@ -2919,7 +2900,7 @@ Status Target::Launch(ProcessLaunchInfo &launch_info, Stream *stream) {
// to m_process_sp. That way even if we are the last owner, the process
// will get Finalized before it gets destroyed.
DeleteCurrentProcess();
m_process_sp =
GetPlatform()->DebugProcess(launch_info, debugger, this, error);
@ -2965,9 +2946,9 @@ Status Target::Launch(ProcessLaunchInfo &launch_info, Stream *stream) {
if (state == eStateStopped) {
if (!launch_info.GetFlags().Test(eLaunchFlagStopAtEntry)) {
if (synchronous_execution) {
// Now we have handled the stop-from-attach, and we are just switching
// to a synchronous resume. So we should switch to the SyncResume
// hijacker.
// Now we have handled the stop-from-attach, and we are just
// switching to a synchronous resume. So we should switch to the
// SyncResume hijacker.
m_process_sp->RestoreProcessEvents();
m_process_sp->ResumeSynchronous(stream);
} else {
@ -3613,14 +3594,23 @@ protected:
// TargetProperties
static constexpr PropertyDefinition g_experimental_properties[]{
{"inject-local-vars", OptionValue::eTypeBoolean, true, true, nullptr,
{"inject-local-vars",
OptionValue::eTypeBoolean,
true,
true,
nullptr,
{},
"If true, inject local variables explicitly into the expression text. "
"This will fix symbol resolution when there are name collisions between "
"ivars and local variables. "
"But it can make expressions run much more slowly."},
{"use-modern-type-lookup", OptionValue::eTypeBoolean, true, false, nullptr,
{}, "If true, use Clang's modern type lookup infrastructure."}};
{"use-modern-type-lookup",
OptionValue::eTypeBoolean,
true,
false,
nullptr,
{},
"If true, use Clang's modern type lookup infrastructure."}};
enum { ePropertyInjectLocalVars = 0, ePropertyUseModernTypeLookup };
@ -3839,13 +3829,13 @@ InlineStrategy TargetProperties::GetInlineStrategy() const {
llvm::StringRef TargetProperties::GetArg0() const {
const uint32_t idx = ePropertyArg0;
return m_collection_sp->GetPropertyAtIndexAsString(nullptr, idx, llvm::StringRef());
return m_collection_sp->GetPropertyAtIndexAsString(nullptr, idx,
llvm::StringRef());
}
void TargetProperties::SetArg0(llvm::StringRef arg) {
const uint32_t idx = ePropertyArg0;
m_collection_sp->SetPropertyAtIndexAsString(
nullptr, idx, arg);
m_collection_sp->SetPropertyAtIndexAsString(nullptr, idx, arg);
m_launch_info.SetArg0(arg);
}
@ -3890,7 +3880,7 @@ PathMappingList &TargetProperties::GetSourcePathMap() const {
return option_value->GetCurrentValue();
}
void TargetProperties::AppendExecutableSearchPaths(const FileSpec& dir) {
void TargetProperties::AppendExecutableSearchPaths(const FileSpec &dir) {
const uint32_t idx = ePropertyExecutableSearchPaths;
OptionValueFileSpecList *option_value =
m_collection_sp->GetPropertyAtIndexAsOptionValueFileSpecList(nullptr,