]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-107149: Make PyUnstable_ExecutableKinds public (#108440)
authorVictor Stinner <vstinner@python.org>
Thu, 31 Aug 2023 07:56:06 +0000 (09:56 +0200)
committerGitHub <noreply@github.com>
Thu, 31 Aug 2023 07:56:06 +0000 (09:56 +0200)
Move PyUnstable_ExecutableKinds and associated macros from the
internal C API to the public C API.

Rename constants: replace "PY_" prefix with "PyUnstable_" prefix.

Include/cpython/pyframe.h
Include/internal/pycore_frame.h
Python/frame.c

index 0e2afff925e31fbb992702eab7622072ec2d22d6..c5adbbe4868f698387e2269f4c031b98b0f98853 100644 (file)
@@ -33,3 +33,11 @@ PyAPI_FUNC(int) PyUnstable_InterpreterFrame_GetLasti(struct _PyInterpreterFrame
 /* 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);
+
+#define PyUnstable_EXECUTABLE_KIND_SKIP 0
+#define PyUnstable_EXECUTABLE_KIND_PY_FUNCTION 1
+#define PyUnstable_EXECUTABLE_KIND_BUILTIN_FUNCTION 3
+#define PyUnstable_EXECUTABLE_KIND_METHOD_DESCRIPTOR 4
+#define PyUnstable_EXECUTABLE_KINDS 5
+
+PyAPI_DATA(const PyTypeObject *) const PyUnstable_ExecutableKinds[PyUnstable_EXECUTABLE_KINDS+1];
index ae77367f6a3c9b83378e7b17a39cd1372353b43c..c8fad1562d8443affb1d3bb84e17f86f26d4143a 100644 (file)
@@ -311,14 +311,6 @@ PyGenObject *_PyFrame_GetGenerator(_PyInterpreterFrame *frame)
     return (PyGenObject *)(((char *)frame) - offset_in_gen);
 }
 
-#define PY_EXECUTABLE_KIND_SKIP 0
-#define PY_EXECUTABLE_KIND_PY_FUNCTION 1
-#define PY_EXECUTABLE_KIND_BUILTIN_FUNCTION 3
-#define PY_EXECUTABLE_KIND_METHOD_DESCRIPTOR 4
-#define PY_EXECUTABLE_KINDS 5
-
-PyAPI_DATA(const PyTypeObject *) const PyUnstable_ExecutableKinds[PY_EXECUTABLE_KINDS+1];
-
 #ifdef __cplusplus
 }
 #endif
index fbfa54398c72b617a5ae3f07dd951d2190d6fa1c..b483903fdf30187b95ed99e6715895be4d912819 100644 (file)
@@ -167,10 +167,10 @@ PyUnstable_InterpreterFrame_GetLine(_PyInterpreterFrame *frame)
     return PyCode_Addr2Line(_PyFrame_GetCode(frame), addr);
 }
 
-const PyTypeObject *const PyUnstable_ExecutableKinds[PY_EXECUTABLE_KINDS+1] = {
-    [PY_EXECUTABLE_KIND_SKIP] = &_PyNone_Type,
-    [PY_EXECUTABLE_KIND_PY_FUNCTION] = &PyCode_Type,
-    [PY_EXECUTABLE_KIND_BUILTIN_FUNCTION] = &PyMethod_Type,
-    [PY_EXECUTABLE_KIND_METHOD_DESCRIPTOR] = &PyMethodDescr_Type,
-    [PY_EXECUTABLE_KINDS] = NULL,
+const PyTypeObject *const PyUnstable_ExecutableKinds[PyUnstable_EXECUTABLE_KINDS+1] = {
+    [PyUnstable_EXECUTABLE_KIND_SKIP] = &_PyNone_Type,
+    [PyUnstable_EXECUTABLE_KIND_PY_FUNCTION] = &PyCode_Type,
+    [PyUnstable_EXECUTABLE_KIND_BUILTIN_FUNCTION] = &PyMethod_Type,
+    [PyUnstable_EXECUTABLE_KIND_METHOD_DESCRIPTOR] = &PyMethodDescr_Type,
+    [PyUnstable_EXECUTABLE_KINDS] = NULL,
 };