summaryrefslogtreecommitdiffstats
path: root/lldb/test/functionalities/command_script/welcome.py
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2015-05-27 05:04:35 +0000
committerEnrico Granata <egranata@apple.com>2015-05-27 05:04:35 +0000
commite87764f2470f6794e432506ebc8beb6ef78dd5fb (patch)
tree4bd62c58b76aeaf4d7c6155418838b9933caa56c /lldb/test/functionalities/command_script/welcome.py
parent3273930d9acee986bc3d1bc24556354e26a797fd (diff)
downloadbcm5719-llvm-e87764f2470f6794e432506ebc8beb6ef78dd5fb.tar.gz
bcm5719-llvm-e87764f2470f6794e432506ebc8beb6ef78dd5fb.zip
Add support for custom commands to set flags on themselves
This works for Python commands defined via a class (implement get_flags on your class) and C++ plugin commands (which can call SBCommand::GetFlags()/SetFlags()) Flags allow features such as not letting the command run if there's no target, or if the process is not stopped, ... Commands could always check for these things themselves, but having these accessible via flags makes custom commands more consistent with built-in ones llvm-svn: 238286
Diffstat (limited to 'lldb/test/functionalities/command_script/welcome.py')
-rw-r--r--lldb/test/functionalities/command_script/welcome.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/lldb/test/functionalities/command_script/welcome.py b/lldb/test/functionalities/command_script/welcome.py
index 90bd0b8f7a9..c6d4ddcfd40 100644
--- a/lldb/test/functionalities/command_script/welcome.py
+++ b/lldb/test/functionalities/command_script/welcome.py
@@ -1,4 +1,4 @@
-import sys
+import lldb, sys
class WelcomeCommand(object):
def __init__(self, debugger, session_dict):
@@ -11,12 +11,19 @@ class WelcomeCommand(object):
print >>result, ('Hello ' + args + ', welcome to LLDB');
return None;
-def target_name_impl(debugger, args, result, dict):
- target = debugger.GetSelectedTarget()
- file = target.GetExecutable()
- print >>result, ('Current target ' + file.GetFilename())
- if args == 'fail':
- result.SetError('a test for error in command')
+class TargetnameCommand(object):
+ def __init__(self, debugger, session_dict):
+ pass
+
+ def __call__(self, debugger, args, exe_ctx, result):
+ target = debugger.GetSelectedTarget()
+ file = target.GetExecutable()
+ print >>result, ('Current target ' + file.GetFilename())
+ if args == 'fail':
+ result.SetError('a test for error in command')
+
+ def get_flags(self):
+ return lldb.eCommandRequiresTarget
def print_wait_impl(debugger, args, result, dict):
result.SetImmediateOutputFile(sys.stdout)
OpenPOWER on IntegriCloud