A little refactoring of the way to add break IDs or ID ranges as command argument data
to the command argument entry. Add a static helper function:
CommandObject::AddIDsArgumentData(CommandArgumentEntry &arg)
to be used from CommandObjectBreakpoint.cpp. The helper function could also be useful
for commands in the future to manipulate watchpoints.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140221 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectBreakpoint.cpp b/source/Commands/CommandObjectBreakpoint.cpp
index 2b9643e..5c96a7f 100644
--- a/source/Commands/CommandObjectBreakpoint.cpp
+++ b/source/Commands/CommandObjectBreakpoint.cpp
@@ -826,22 +826,7 @@
NULL)
{
CommandArgumentEntry arg;
- CommandArgumentData bp_id_arg;
- CommandArgumentData bp_id_range_arg;
-
- // Create the first variant for the first (and only) argument for this command.
- bp_id_arg.arg_type = eArgTypeBreakpointID;
- bp_id_arg.arg_repetition = eArgRepeatOptional;
-
- // Create the second variant for the first (and only) argument for this command.
- bp_id_range_arg.arg_type = eArgTypeBreakpointIDRange;
- bp_id_range_arg.arg_repetition = eArgRepeatOptional;
-
- // The first (and only) argument for this command could be either a bp_id or a bp_id_range.
- // Push both variants into the entry for the first argument for this command.
- arg.push_back (bp_id_arg);
- arg.push_back (bp_id_range_arg);
-
+ CommandObject::AddIDsArgumentData(arg);
// Add the entry for the first argument for this command to the object's arguments vector.
m_arguments.push_back (arg);
}
@@ -942,22 +927,7 @@
NULL)
{
CommandArgumentEntry arg;
- CommandArgumentData bp_id_arg;
- CommandArgumentData bp_id_range_arg;
-
- // Create the first variant for the first (and only) argument for this command.
- bp_id_arg.arg_type = eArgTypeBreakpointID;
- bp_id_arg.arg_repetition = eArgRepeatOptional;
-
- // Create the second variant for the first (and only) argument for this command.
- bp_id_range_arg.arg_type = eArgTypeBreakpointIDRange;
- bp_id_range_arg.arg_repetition = eArgRepeatOptional;
-
- // The first (and only) argument for this command could be either a bp_id or a bp_id_range.
- // Push both variants into the entry for the first argument for this command.
- arg.push_back (bp_id_arg);
- arg.push_back (bp_id_range_arg);
-
+ CommandObject::AddIDsArgumentData(arg);
// Add the entry for the first argument for this command to the object's arguments vector.
m_arguments.push_back (arg);
}
@@ -1238,22 +1208,7 @@
NULL)
{
CommandArgumentEntry arg;
- CommandArgumentData bp_id_arg;
- CommandArgumentData bp_id_range_arg;
-
- // Create the first variant for the first (and only) argument for this command.
- bp_id_arg.arg_type = eArgTypeBreakpointID;
- bp_id_arg.arg_repetition = eArgRepeatOptional;
-
- // Create the second variant for the first (and only) argument for this command.
- bp_id_range_arg.arg_type = eArgTypeBreakpointIDRange;
- bp_id_range_arg.arg_repetition = eArgRepeatOptional;
-
- // The first (and only) argument for this command could be either a bp_id or a bp_id_range.
- // Push both variants into the entry for the first argument for this command.
- arg.push_back (bp_id_arg);
- arg.push_back (bp_id_range_arg);
-
+ CommandObject::AddIDsArgumentData(arg);
// Add the entry for the first argument for this command to the object's arguments vector.
m_arguments.push_back (arg);
}
@@ -1513,22 +1468,7 @@
m_options (interpreter)
{
CommandArgumentEntry arg;
- CommandArgumentData bp_id_arg;
- CommandArgumentData bp_id_range_arg;
-
- // Create the first variant for the first (and only) argument for this command.
- bp_id_arg.arg_type = eArgTypeBreakpointID;
- bp_id_arg.arg_repetition = eArgRepeatPlain;
-
- // Create the second variant for the first (and only) argument for this command.
- bp_id_range_arg.arg_type = eArgTypeBreakpointIDRange;
- bp_id_range_arg.arg_repetition = eArgRepeatPlain;
-
- // The first (and only) argument for this command could be either a bp_id or a bp_id_range.
- // Push both variants into the entry for the first argument for this command.
- arg.push_back (bp_id_arg);
- arg.push_back (bp_id_range_arg);
-
+ CommandObject::AddIDsArgumentData(arg);
// Add the entry for the first argument for this command to the object's arguments vector.
m_arguments.push_back (arg);
}
diff --git a/source/Interpreter/CommandObject.cpp b/source/Interpreter/CommandObject.cpp
index ebfbb0f..0bf4279 100644
--- a/source/Interpreter/CommandObject.cpp
+++ b/source/Interpreter/CommandObject.cpp
@@ -743,6 +743,26 @@
" meaning of array slicing (taking elements n thru m inside the array or pointed-to memory).";
}
+void
+CommandObject::AddIDsArgumentData(CommandArgumentEntry &arg)
+{
+ CommandArgumentData id_arg;
+ CommandArgumentData id_range_arg;
+
+ // Create the first variant for the first (and only) argument for this command.
+ id_arg.arg_type = eArgTypeBreakpointID;
+ id_arg.arg_repetition = eArgRepeatOptional;
+
+ // Create the second variant for the first (and only) argument for this command.
+ id_range_arg.arg_type = eArgTypeBreakpointIDRange;
+ id_range_arg.arg_repetition = eArgRepeatOptional;
+
+ // The first (and only) argument for this command could be either a id or a id_range.
+ // Push both variants into the entry for the first argument for this command.
+ arg.push_back(id_arg);
+ arg.push_back(id_range_arg);
+}
+
const char *
CommandObject::GetArgumentTypeAsCString (const lldb::CommandArgumentType arg_type)
{