Skip to content

Commit

Permalink
pythongh-108826: Document dis module CLI and rename _test functio…
Browse files Browse the repository at this point in the history
…n to `main` (python#108827)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
  • Loading branch information
3 people authored and Glyphack committed Jan 27, 2024
1 parent 7d361e0 commit 26b3767
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 4 deletions.
2 changes: 1 addition & 1 deletion Doc/library/cmdline.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The following modules have a command-line interface.
* :ref:`compileall <compileall-cli>`
* :mod:`cProfile`: see :ref:`profile <profile-cli>`
* :ref:`difflib <difflib-interface>`
* :mod:`dis`
* :ref:`dis <dis-cli>`
* :mod:`doctest`
* :mod:`!encodings.rot_13`
* :mod:`ensurepip`
Expand Down
26 changes: 26 additions & 0 deletions Doc/library/dis.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,32 @@ the following command can be used to display the disassembly of

(The "2" is a line number).

.. _dis-cli:

Command-line interface
----------------------

The :mod:`dis` module can be invoked as a script from the command line:

.. code-block:: sh
python -m dis [-h] [-C] [infile]
The following options are accepted:

.. program:: dis

.. cmdoption:: -h, --help

Display usage and exit.

.. cmdoption:: -C, --show-caches

Show inline caches.

If :file:`infile` is specified, its disassembled code will be written to stdout.
Otherwise, disassembly is performed on compiled source code recieved from stdin.

Bytecode analysis
-----------------

Expand Down
5 changes: 2 additions & 3 deletions Lib/dis.py
Original file line number Diff line number Diff line change
Expand Up @@ -896,8 +896,7 @@ def dis(self):
return output.getvalue()


def _test():
"""Simple test program to disassemble a file."""
def main():
import argparse

parser = argparse.ArgumentParser()
Expand All @@ -911,4 +910,4 @@ def _test():
dis(code, show_caches=args.show_caches)

if __name__ == "__main__":
_test()
main()
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
:mod:`dis` module command-line interface is now mentioned in documentation.

0 comments on commit 26b3767

Please sign in to comment.