forked from OSchip/llvm-project
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. llvm-svn: 140221
This commit is contained in:
parent
f16d2447e1
commit
184d7a727e
|
@ -361,6 +361,12 @@ protected:
|
|||
bool m_is_alias;
|
||||
Flags m_flags;
|
||||
std::vector<CommandArgumentEntry> m_arguments;
|
||||
|
||||
// Helper function to populate IDs or ID ranges as the command argument data
|
||||
// to the specified command argument entry.
|
||||
static void
|
||||
AddIDsArgumentData(CommandArgumentEntry &arg);
|
||||
|
||||
};
|
||||
|
||||
} // namespace lldb_private
|
||||
|
|
|
@ -826,22 +826,7 @@ CommandObjectBreakpointEnable::CommandObjectBreakpointEnable (CommandInterpreter
|
|||
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 @@ CommandObjectBreakpointDisable::CommandObjectBreakpointDisable (CommandInterpret
|
|||
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 @@ CommandObjectBreakpointDelete::CommandObjectBreakpointDelete(CommandInterpreter
|
|||
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 @@ CommandObjectBreakpointModify::CommandObjectBreakpointModify (CommandInterpreter
|
|||
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);
|
||||
}
|
||||
|
|
|
@ -743,6 +743,26 @@ ExprPathHelpTextCallback()
|
|||
" 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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue