[Python-checkins] GH-96803: Move PyUnstable_InterpreterFrame_GetCode() to Python.h (#107188)

vstinner webhook-mailer at python.org
Mon Jul 24 15:20:48 EDT 2023


https://github.com/python/cpython/commit/837fa5c0cd92e70f625377c9ffb7ac31a23d7d63
commit: 837fa5c0cd92e70f625377c9ffb7ac31a23d7d63
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2023-07-24T21:20:44+02:00
summary:

GH-96803: Move PyUnstable_InterpreterFrame_GetCode() to Python.h (#107188)

Declare the following 3 PyUnstable functions in
Include/cpython/pyframe.h rather than Include/cpython/frameobject.h,
so they are now provided by the standard "#include <Python.h>".

files:
M Include/cpython/frameobject.h
M Include/cpython/pyframe.h

diff --git a/Include/cpython/frameobject.h b/Include/cpython/frameobject.h
index a3dc666178645..4e19535c656f2 100644
--- a/Include/cpython/frameobject.h
+++ b/Include/cpython/frameobject.h
@@ -4,8 +4,6 @@
 #  error "this header file must not be included directly"
 #endif
 
-struct _PyInterpreterFrame;
-
 /* Standard object interface */
 
 PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
@@ -29,18 +27,3 @@ PyAPI_FUNC(int) _PyFrame_IsEntryFrame(PyFrameObject *frame);
 
 PyAPI_FUNC(int) PyFrame_FastToLocalsWithError(PyFrameObject *f);
 PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);
-
-/* The following functions are for use by debuggers and other tools
- * implementing custom frame evaluators with PEP 523. */
-
-/* Returns the code object of the frame (strong reference).
- * Does not raise an exception. */
-PyAPI_FUNC(PyObject *) PyUnstable_InterpreterFrame_GetCode(struct _PyInterpreterFrame *frame);
-
-/* Returns a byte ofsset into the last executed instruction.
- * Does not raise an exception. */
-PyAPI_FUNC(int) PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame *frame);
-
-/* Returns the currently executing line number, or -1 if there is no line number.
- * Does not raise an exception. */
-PyAPI_FUNC(int) PyUnstable_InterpreterFrame_GetLine(struct _PyInterpreterFrame *frame);
diff --git a/Include/cpython/pyframe.h b/Include/cpython/pyframe.h
index 6ec292718aff1..0e2afff925e31 100644
--- a/Include/cpython/pyframe.h
+++ b/Include/cpython/pyframe.h
@@ -16,3 +16,20 @@ PyAPI_FUNC(PyObject *) PyFrame_GetGenerator(PyFrameObject *frame);
 PyAPI_FUNC(int) PyFrame_GetLasti(PyFrameObject *frame);
 PyAPI_FUNC(PyObject*) PyFrame_GetVar(PyFrameObject *frame, PyObject *name);
 PyAPI_FUNC(PyObject*) PyFrame_GetVarString(PyFrameObject *frame, const char *name);
+
+/* The following functions are for use by debuggers and other tools
+ * implementing custom frame evaluators with PEP 523. */
+
+struct _PyInterpreterFrame;
+
+/* Returns the code object of the frame (strong reference).
+ * Does not raise an exception. */
+PyAPI_FUNC(PyObject *) PyUnstable_InterpreterFrame_GetCode(struct _PyInterpreterFrame *frame);
+
+/* Returns a byte ofsset into the last executed instruction.
+ * Does not raise an exception. */
+PyAPI_FUNC(int) PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame *frame);
+
+/* Returns the currently executing line number, or -1 if there is no line number.
+ * Does not raise an exception. */
+PyAPI_FUNC(int) PyUnstable_InterpreterFrame_GetLine(struct _PyInterpreterFrame *frame);



More information about the Python-checkins mailing list