Allow Python commands to optionally take an SBExecutionContext argument in case they need to handle 'where they want to act' separately from the notion of 'currently-selected entity' that is associated to the debugger. Do this in an (hopefully) non-breaking way by running an argcount check before passing in the new argument. Update the test case to also check for this new feature. www update to follow

llvm-svn: 218834
This commit is contained in:
Enrico Granata
2014-10-01 21:47:29 +00:00
parent ebcf42cdec
commit 06be059ad9
12 changed files with 46 additions and 9 deletions

View File

@@ -2510,7 +2510,8 @@ ScriptInterpreterPython::RunScriptBasedCommand(const char* impl_function,
const char* args,
ScriptedCommandSynchronicity synchronicity,
lldb_private::CommandReturnObject& cmd_retobj,
Error& error)
Error& error,
const lldb_private::ExecutionContext& exe_ctx)
{
if (!impl_function)
{
@@ -2525,6 +2526,7 @@ ScriptInterpreterPython::RunScriptBasedCommand(const char* impl_function,
}
lldb::DebuggerSP debugger_sp = m_interpreter.GetDebugger().shared_from_this();
lldb::ExecutionContextRefSP exe_ctx_ref_sp(new ExecutionContextRef(exe_ctx));
if (!debugger_sp.get())
{
@@ -2548,7 +2550,8 @@ ScriptInterpreterPython::RunScriptBasedCommand(const char* impl_function,
m_dictionary_name.c_str(),
debugger_sp,
args,
cmd_retobj);
cmd_retobj,
exe_ctx_ref_sp);
}
if (!ret_val)