mirror of
https://github.com/python/cpython.git
synced 2025-11-17 01:25:57 +00:00
Move the follow functions and type from frameobject.h to pyframe.h, so the standard <Python.h> provide frame getter functions: * PyFrame_Check() * PyFrame_GetBack() * PyFrame_GetBuiltins() * PyFrame_GetGenerator() * PyFrame_GetGlobals() * PyFrame_GetLasti() * PyFrame_GetLocals() * PyFrame_Type Remove #include "frameobject.h" from many C files. It's no longer needed.
29 lines
1.1 KiB
C
29 lines
1.1 KiB
C
/* Frame object interface */
|
|
|
|
#ifndef Py_CPYTHON_FRAMEOBJECT_H
|
|
# error "this header file must not be included directly"
|
|
#endif
|
|
|
|
/* Standard object interface */
|
|
|
|
PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
|
|
PyObject *, PyObject *);
|
|
|
|
/* The rest of the interface is specific for frame objects */
|
|
|
|
/* Conversions between "fast locals" and locals in dictionary */
|
|
|
|
PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int);
|
|
|
|
/* -- Caveat emptor --
|
|
* The concept of entry frames is an implementation detail of the CPython
|
|
* interpreter. This API is considered unstable and is provided for the
|
|
* convenience of debuggers, profilers and state-inspecting tools. Notice that
|
|
* this API can be changed in future minor versions if the underlying frame
|
|
* mechanism change or the concept of an 'entry frame' or its semantics becomes
|
|
* obsolete or outdated. */
|
|
|
|
PyAPI_FUNC(int) _PyFrame_IsEntryFrame(PyFrameObject *frame);
|
|
|
|
PyAPI_FUNC(int) PyFrame_FastToLocalsWithError(PyFrameObject *f);
|
|
PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);
|