From 775c30706882291fe6385066899f702f768ed95f Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Thu, 1 Jan 2009 12:09:40 +0000 Subject: [PATCH] #4222: document dis.findlabels() and dis.findlinestarts() and put them into dis.__all__. --- Doc/library/dis.rst | 17 +++++++++++++++-- Lib/dis.py | 3 ++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Doc/library/dis.rst b/Doc/library/dis.rst index e9cbb131ea9..909e229ed10 100644 --- a/Doc/library/dis.rst +++ b/Doc/library/dis.rst @@ -64,10 +64,23 @@ The :mod:`dis` module defines the following functions and constants: .. function:: disco(code[, lasti]) - A synonym for disassemble. It is more convenient to type, and kept for - compatibility with earlier Python releases. + A synonym for :func:`disassemble`. It is more convenient to type, and kept + for compatibility with earlier Python releases. +.. function:: findlinestarts(code) + + This generator function uses the ``co_firstlineno`` and ``co_lnotab`` + attributes of the code object *code* to find the offsets which are starts of + lines in the source code. They are generated as ``(offset, lineno)`` pairs. + + +.. function:: findlabels(code) + + Detect all offsets in the code object *code* which are jump targets, and + return a list of these offsets. + + .. data:: opname Sequence of operation names, indexable using the bytecode. diff --git a/Lib/dis.py b/Lib/dis.py index 5a74b3ae894..e60e702036c 100644 --- a/Lib/dis.py +++ b/Lib/dis.py @@ -6,7 +6,8 @@ import types from opcode import * from opcode import __all__ as _opcodes_all -__all__ = ["dis","disassemble","distb","disco"] + _opcodes_all +__all__ = ["dis", "disassemble", "distb", "disco", + "findlinestarts", "findlabels"] + _opcodes_all del _opcodes_all def dis(x=None):