aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Interpreter/CommandObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Interpreter/CommandObject.cpp')
-rw-r--r--lldb/source/Interpreter/CommandObject.cpp39
1 files changed, 31 insertions, 8 deletions
diff --git a/lldb/source/Interpreter/CommandObject.cpp b/lldb/source/Interpreter/CommandObject.cpp
index 93c53e8..4634b75 100644
--- a/lldb/source/Interpreter/CommandObject.cpp
+++ b/lldb/source/Interpreter/CommandObject.cpp
@@ -392,6 +392,24 @@ bool CommandObject::ParseOptionsAndNotify(Args &args,
return true;
}
+void CommandObject::AddSimpleArgumentList(
+ CommandArgumentType arg_type, ArgumentRepetitionType repetition_type) {
+
+ CommandArgumentEntry arg_entry;
+ CommandArgumentData simple_arg;
+
+ // Define the first (and only) variant of this arg.
+ simple_arg.arg_type = arg_type;
+ simple_arg.arg_repetition = repetition_type;
+
+ // There is only one variant this argument could be; put it into the argument
+ // entry.
+ arg_entry.push_back(simple_arg);
+
+ // Push the data for the first argument into the m_arguments vector.
+ m_arguments.push_back(arg_entry);
+}
+
int CommandObject::GetNumArgumentEntries() { return m_arguments.size(); }
CommandObject::CommandArgumentEntry *
@@ -694,20 +712,24 @@ void CommandObject::GenerateHelpText(Stream &output_strm) {
}
}
-void CommandObject::AddIDsArgumentData(CommandArgumentEntry &arg,
- CommandArgumentType ID,
- CommandArgumentType IDRange) {
+void CommandObject::AddIDsArgumentData(CommandObject::IDType type) {
+ 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 = ID;
+ switch (type) {
+ case eBreakpointArgs:
+ id_arg.arg_type = eArgTypeBreakpointID;
+ id_range_arg.arg_type = eArgTypeBreakpointIDRange;
+ break;
+ case eWatchpointArgs:
+ id_arg.arg_type = eArgTypeWatchpointID;
+ id_range_arg.arg_type = eArgTypeWatchpointIDRange;
+ break;
+ }
id_arg.arg_repetition = eArgRepeatOptional;
-
- // Create the second variant for the first (and only) argument for this
- // command.
- id_range_arg.arg_type = IDRange;
id_range_arg.arg_repetition = eArgRepeatOptional;
// The first (and only) argument for this command could be either an id or an
@@ -715,6 +737,7 @@ void CommandObject::AddIDsArgumentData(CommandArgumentEntry &arg,
// this command.
arg.push_back(id_arg);
arg.push_back(id_range_arg);
+ m_arguments.push_back(arg);
}
const char *CommandObject::GetArgumentTypeAsCString(