From 58384c6ab01bbc35cc14cdeb716f6c45a3df426b Mon Sep 17 00:00:00 2001 From: Mark Shannon Date: Fri, 2 Apr 2021 13:24:57 +0100 Subject: Document PyCode_Addr2Line function. (GH-25111) * Document PyCode_Addr2Line function. * Clarify when to use PEP 626 line iterators. --- Doc/c-api/code.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Doc/c-api/code.rst b/Doc/c-api/code.rst index b3a17f1..6e18a42 100644 --- a/Doc/c-api/code.rst +++ b/Doc/c-api/code.rst @@ -51,3 +51,11 @@ bound into a function. Return a new empty code object with the specified filename, function name, and first line number. It is illegal to :func:`exec` or :func:`eval` the resulting code object. + +.. c:function:: int PyCode_Addr2Line(PyCodeObject *co, int byte_offset) + + Return the line number of the instruction that occurs on or before ``byte_offset`` and ends after it. + If you just need the line number of a frame, use :c:func:`PyFrame_GetLineNumber` instead. + + For efficiently iterating over the line numbers in a code object, use `the API described in PEP 626 + `_. -- cgit v0.12