[Lldb-commits] [PATCH] D76729: Convert for loops to entry-based iteration
Shivam Mittal via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Mar 24 14:01:05 PDT 2020
shivammittal99 created this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
Convert index-based loops marked TODO in CommandObjectSettings and CommandObjectTarget to entry-based.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D76729
Files:
lldb/source/Commands/CommandObjectSettings.cpp
lldb/source/Commands/CommandObjectTarget.cpp
Index: lldb/source/Commands/CommandObjectTarget.cpp
===================================================================
--- lldb/source/Commands/CommandObjectTarget.cpp
+++ lldb/source/Commands/CommandObjectTarget.cpp
@@ -876,21 +876,17 @@
Stream &s = result.GetOutputStream();
if (argc > 0) {
-
- // TODO: Convert to entry-based iteration. Requires converting
- // DumpValueObject.
- for (size_t idx = 0; idx < argc; ++idx) {
+ for (const Args::ArgEntry &arg : args) {
VariableList variable_list;
ValueObjectList valobj_list;
- const char *arg = args.GetArgumentAtIndex(idx);
size_t matches = 0;
bool use_var_name = false;
if (m_option_variable.use_regex) {
- RegularExpression regex(llvm::StringRef::withNullAsEmpty(arg));
+ RegularExpression regex(llvm::StringRef::withNullAsEmpty(arg.c_str()));
if (!regex.IsValid()) {
result.GetErrorStream().Printf(
- "error: invalid regular expression: '%s'\n", arg);
+ "error: invalid regular expression: '%s'\n", arg.c_str());
result.SetStatus(eReturnStatusFailed);
return false;
}
@@ -900,14 +896,14 @@
matches = variable_list.GetSize();
} else {
Status error(Variable::GetValuesForVariableExpressionPath(
- arg, m_exe_ctx.GetBestExecutionContextScope(),
+ arg.c_str(), m_exe_ctx.GetBestExecutionContextScope(),
GetVariableCallback, target, variable_list, valobj_list));
matches = variable_list.GetSize();
}
if (matches == 0) {
result.GetErrorStream().Printf(
- "error: can't find global variable '%s'\n", arg);
+ "error: can't find global variable '%s'\n", arg.c_str());
result.SetStatus(eReturnStatusFailed);
return false;
} else {
@@ -923,7 +919,7 @@
if (valobj_sp)
DumpValueObject(s, var_sp, valobj_sp,
use_var_name ? var_sp->GetName().GetCString()
- : arg);
+ : arg.c_str());
}
}
}
@@ -3058,17 +3054,14 @@
module_list_ptr = &target->GetImages();
}
} else {
- // TODO: Convert to entry based iteration. Requires converting
- // FindModulesByName.
- for (size_t i = 0; i < argc; ++i) {
+ for (const Args::ArgEntry &arg : command) {
// Dump specified images (by basename or fullpath)
- const char *arg_cstr = command.GetArgumentAtIndex(i);
const size_t num_matches = FindModulesByName(
- target, arg_cstr, 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'",
- arg_cstr);
+ arg.c_str());
result.SetStatus(eReturnStatusFailed);
return false;
}
Index: lldb/source/Commands/CommandObjectSettings.cpp
===================================================================
--- lldb/source/Commands/CommandObjectSettings.cpp
+++ lldb/source/Commands/CommandObjectSettings.cpp
@@ -531,10 +531,8 @@
if (argc > 0) {
const bool dump_qualified_name = true;
- // TODO: Convert to StringRef based enumeration. Requires converting
- // GetPropertyAtPath first.
- for (size_t i = 0; i < argc; ++i) {
- const char *property_path = args.GetArgumentAtIndex(i);
+ for (const Args::ArgEntry &arg : args) {
+ const char *property_path = arg.c_str();
const Property *property =
GetDebugger().GetValueProperties()->GetPropertyAtPath(
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76729.252422.patch
Type: text/x-patch
Size: 4010 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200324/5df2cf56/attachment-0001.bin>
More information about the lldb-commits
mailing list