Index: scripts/Python/python-extensions.swig =================================================================== --- scripts/Python/python-extensions.swig +++ scripts/Python/python-extensions.swig @@ -839,29 +839,18 @@ %pythoncode %{ -def command(*args, **kwargs): +def command(command_name, doc=None): import lldb - import inspect """A decorator function that registers an LLDB command line command that is bound to the function it is attached to.""" - class obj(object): - """The object that tracks adding the command to LLDB one time and handles - calling the function on subsequent calls.""" - def __init__(self, function, command_name, doc = None): - if doc: - function.__doc__ = doc - command = "command script add -f %s.%s %s" % (function.__module__, function.__name__, command_name) - lldb.debugger.HandleCommand(command) - self.function = function - def __call__(self, debugger, command, exe_ctx, result, dict): - if len(inspect.getargspec(self.function).args) == 5: - self.function(debugger, command, exe_ctx, result, dict) - else: - self.function(debugger, command, result, dict) def callable(function): """Creates a callable object that gets used.""" - f = obj(function, *args, **kwargs) - return f.__call__ + command = "command script add -f %s.%s %s" % (function.__module__, function.__name__, command_name) + lldb.debugger.HandleCommand(command) + if doc: + function.__doc__ = doc + return function + return callable class declaration(object):