diff options
| author | Raphael Isemann <teemperor@gmail.com> | 2019-11-25 15:03:46 +0100 |
|---|---|---|
| committer | Raphael Isemann <teemperor@gmail.com> | 2019-11-25 15:03:46 +0100 |
| commit | d1782133d96d316c3bc98e33a191994794a26851 (patch) | |
| tree | b34395755e063b8df5d970569a6d8421d78e9d64 /lldb/source/API | |
| parent | d9c9a4e48d286a04d09a8fdea87f486a9ec02cd0 (diff) | |
| download | bcm5719-llvm-d1782133d96d316c3bc98e33a191994794a26851.tar.gz bcm5719-llvm-d1782133d96d316c3bc98e33a191994794a26851.zip | |
[lldb][NFC] Allow range-based for-loops on VariableList
Summary:
Adds support for doing range-based for-loops on LLDB's VariableList and
modernises all the index-based for-loops in LLDB where possible.
Reviewers: labath, jdoerfert
Reviewed By: labath
Subscribers: JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70668
Diffstat (limited to 'lldb/source/API')
| -rw-r--r-- | lldb/source/API/SBFrame.cpp | 4 | ||||
| -rw-r--r-- | lldb/source/API/SBModule.cpp | 16 | ||||
| -rw-r--r-- | lldb/source/API/SBTarget.cpp | 19 |
3 files changed, 15 insertions, 24 deletions
diff --git a/lldb/source/API/SBFrame.cpp b/lldb/source/API/SBFrame.cpp index c0e272e1bcd..af42be9ac75 100644 --- a/lldb/source/API/SBFrame.cpp +++ b/lldb/source/API/SBFrame.cpp @@ -831,14 +831,12 @@ SBValueList SBFrame::GetVariables(const lldb::SBVariablesOptions &options) { if (stop_locker.TryLock(&process->GetRunLock())) { frame = exe_ctx.GetFramePtr(); if (frame) { - size_t i; VariableList *variable_list = nullptr; variable_list = frame->GetVariableList(true); if (variable_list) { const size_t num_variables = variable_list->GetSize(); if (num_variables) { - for (i = 0; i < num_variables; ++i) { - VariableSP variable_sp(variable_list->GetVariableAtIndex(i)); + for (const VariableSP &variable_sp : *variable_list) { if (variable_sp) { bool add_variable = false; switch (variable_sp->GetScope()) { diff --git a/lldb/source/API/SBModule.cpp b/lldb/source/API/SBModule.cpp index 6cc6d2628ac..7ac189bb427 100644 --- a/lldb/source/API/SBModule.cpp +++ b/lldb/source/API/SBModule.cpp @@ -419,16 +419,12 @@ SBValueList SBModule::FindGlobalVariables(SBTarget &target, const char *name, VariableList variable_list; module_sp->FindGlobalVariables(ConstString(name), nullptr, max_matches, variable_list); - const uint32_t match_count = variable_list.GetSize(); - if (match_count > 0) { - for (uint32_t i = 0; i < match_count; ++i) { - lldb::ValueObjectSP valobj_sp; - TargetSP target_sp(target.GetSP()); - valobj_sp = ValueObjectVariable::Create( - target_sp.get(), variable_list.GetVariableAtIndex(i)); - if (valobj_sp) - sb_value_list.Append(SBValue(valobj_sp)); - } + for (const VariableSP &var_sp : variable_list) { + lldb::ValueObjectSP valobj_sp; + TargetSP target_sp(target.GetSP()); + valobj_sp = ValueObjectVariable::Create(target_sp.get(), var_sp); + if (valobj_sp) + sb_value_list.Append(SBValue(valobj_sp)); } } diff --git a/lldb/source/API/SBTarget.cpp b/lldb/source/API/SBTarget.cpp index bf444a72278..7013e2b45e5 100644 --- a/lldb/source/API/SBTarget.cpp +++ b/lldb/source/API/SBTarget.cpp @@ -1929,14 +1929,13 @@ SBValueList SBTarget::FindGlobalVariables(const char *name, VariableList variable_list; target_sp->GetImages().FindGlobalVariables(ConstString(name), max_matches, variable_list); - const uint32_t match_count = variable_list.GetSize(); - if (match_count > 0) { + if (!variable_list.Empty()) { ExecutionContextScope *exe_scope = target_sp->GetProcessSP().get(); if (exe_scope == nullptr) exe_scope = target_sp.get(); - for (uint32_t i = 0; i < match_count; ++i) { - lldb::ValueObjectSP valobj_sp(ValueObjectVariable::Create( - exe_scope, variable_list.GetVariableAtIndex(i))); + for (const VariableSP &var_sp : variable_list) { + lldb::ValueObjectSP valobj_sp( + ValueObjectVariable::Create(exe_scope, var_sp)); if (valobj_sp) sb_value_list.Append(SBValue(valobj_sp)); } @@ -1961,7 +1960,6 @@ SBValueList SBTarget::FindGlobalVariables(const char *name, VariableList variable_list; std::string regexstr; - uint32_t match_count; switch (matchtype) { case eMatchTypeNormal: target_sp->GetImages().FindGlobalVariables(ConstString(name), max_matches, @@ -1977,14 +1975,13 @@ SBValueList SBTarget::FindGlobalVariables(const char *name, max_matches, variable_list); break; } - match_count = variable_list.GetSize(); - if (match_count > 0) { + if (!variable_list.Empty()) { ExecutionContextScope *exe_scope = target_sp->GetProcessSP().get(); if (exe_scope == nullptr) exe_scope = target_sp.get(); - for (uint32_t i = 0; i < match_count; ++i) { - lldb::ValueObjectSP valobj_sp(ValueObjectVariable::Create( - exe_scope, variable_list.GetVariableAtIndex(i))); + for (const VariableSP &var_sp : variable_list) { + lldb::ValueObjectSP valobj_sp( + ValueObjectVariable::Create(exe_scope, var_sp)); if (valobj_sp) sb_value_list.Append(SBValue(valobj_sp)); } |

