summaryrefslogtreecommitdiffstats
path: root/lldb/source/Interpreter/CommandObject.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2014-08-06 00:10:12 +0000
committerJim Ingham <jingham@apple.com>2014-08-06 00:10:12 +0000
commit3b652621a990cef7b8e291beb3f5446ef4f5bfdc (patch)
tree5e4817c1de37f8393abd65adcfa4f48903609f22 /lldb/source/Interpreter/CommandObject.cpp
parentcabf54a313d713f0b3158790fa452298908b3267 (diff)
downloadbcm5719-llvm-3b652621a990cef7b8e291beb3f5446ef4f5bfdc.tar.gz
bcm5719-llvm-3b652621a990cef7b8e291beb3f5446ef4f5bfdc.zip
Add a variant of the CommandOverrideCallback that takes a
CommandReturnObject. Otherwise, all the overridden command can do is say it overrode the command, not say what it did... Also removed the duplicate definition of CommandOverrideCallback from the private interfaces. Now to figure out how to get this through the SB API's... <rdar://problem/17911629> llvm-svn: 214938
Diffstat (limited to 'lldb/source/Interpreter/CommandObject.cpp')
-rw-r--r--lldb/source/Interpreter/CommandObject.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/lldb/source/Interpreter/CommandObject.cpp b/lldb/source/Interpreter/CommandObject.cpp
index cb2e5d5e8d7..62a8475ae1c 100644
--- a/lldb/source/Interpreter/CommandObject.cpp
+++ b/lldb/source/Interpreter/CommandObject.cpp
@@ -1005,14 +1005,13 @@ CommandObject::GetArgumentDescriptionAsCString (const lldb::CommandArgumentType
bool
CommandObjectParsed::Execute (const char *args_string, CommandReturnObject &result)
{
- CommandOverrideCallback command_callback = GetOverrideCallback();
bool handled = false;
Args cmd_args (args_string);
- if (command_callback)
+ if (HasOverrideCallback())
{
Args full_args (GetCommandName ());
full_args.AppendArguments(cmd_args);
- handled = command_callback (GetOverrideCallbackBaton(), full_args.GetConstArgumentVector());
+ handled = InvokeOverrideCallback (full_args.GetConstArgumentVector(), result);
}
if (!handled)
{
@@ -1040,16 +1039,15 @@ CommandObjectParsed::Execute (const char *args_string, CommandReturnObject &resu
bool
CommandObjectRaw::Execute (const char *args_string, CommandReturnObject &result)
{
- CommandOverrideCallback command_callback = GetOverrideCallback();
bool handled = false;
- if (command_callback)
+ if (HasOverrideCallback())
{
std::string full_command (GetCommandName ());
full_command += ' ';
full_command += args_string;
const char *argv[2] = { nullptr, nullptr };
argv[0] = full_command.c_str();
- handled = command_callback (GetOverrideCallbackBaton(), argv);
+ handled = InvokeOverrideCallback (argv, result);
}
if (!handled)
{
OpenPOWER on IntegriCloud