Fix and simplify lldb.command decorator
authorDave Lee <davelee.com@gmail.com>
Wed, 4 Jul 2018 16:11:43 +0000 (16:11 +0000)
committerDave Lee <davelee.com@gmail.com>
Wed, 4 Jul 2018 16:11:43 +0000 (16:11 +0000)
commit8ab5c2db8a7345143fc994718303fda2a63f90c3
tree2b6e3a230d1890e63b9bb049a773854357749a75
parent17c0c4e7424187c50c3189566aa3432cee7cdc9a
Fix and simplify lldb.command decorator

Summary:
This change fixes one issue with `lldb.command`, and also reduces the implementation.

The fix: a command function's docstring was not shown when running `help <command_name>`. This is because the docstring attached the source function is not propagated to the decorated function (`f.__call__`). By returning the original function, the docstring will be properly displayed by `help`.

Also with this change, the command name is assumed to be the function's name, but can still be explicitly defined as previously.

Additionally, the implementation was updated to:

* Remove inner class
* Remove use of `inspect` module
* Remove `*args` and `**kwargs`

Reviewers: clayborg

Reviewed By: clayborg

Subscribers: keith, xiaobai, lldb-commits

Differential Revision: https://reviews.llvm.org/D48658

llvm-svn: 336287
lldb/packages/Python/lldbsuite/test/functionalities/command_script/TestCommandScript.py
lldb/packages/Python/lldbsuite/test/functionalities/command_script/decorated.py [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/functionalities/command_script/py_import
lldb/scripts/Python/python-extensions.swig