Files
metabuilder/typthon/Include/cpython/frameobject.h
johndoe6345789 0e707caa56 feat: Add Typthon
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 17:10:58 +00:00

36 lines
1.2 KiB
C

/* Frame object interface */
#ifndef Ty_CPYTHON_FRAMEOBJECT_H
# error "this header file must not be included directly"
#endif
/* Standard object interface */
PyAPI_FUNC(PyFrameObject *) TyFrame_New(TyThreadState *, PyCodeObject *,
TyObject *, TyObject *);
/* The rest of the interface is specific for frame objects */
/* Conversions between "fast locals" and locals in dictionary */
PyAPI_FUNC(void) TyFrame_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) _TyFrame_IsEntryFrame(PyFrameObject *frame);
PyAPI_FUNC(int) TyFrame_FastToLocalsWithError(PyFrameObject *f);
PyAPI_FUNC(void) TyFrame_FastToLocals(PyFrameObject *);
typedef struct {
PyObject_HEAD
PyFrameObject* frame;
} PyFrameLocalsProxyObject;