| | #ifndef Py_INTERNAL_CONTEXT_H |
| | #define Py_INTERNAL_CONTEXT_H |
| |
|
| | #ifndef Py_BUILD_CORE |
| | # error "this header requires Py_BUILD_CORE define" |
| | #endif |
| |
|
| | #include "pycore_hamt.h" |
| |
|
| | struct _pycontextobject { |
| | PyObject_HEAD |
| | PyContext *ctx_prev; |
| | PyHamtObject *ctx_vars; |
| | PyObject *ctx_weakreflist; |
| | int ctx_entered; |
| | }; |
| |
|
| |
|
| | struct _pycontextvarobject { |
| | PyObject_HEAD |
| | PyObject *var_name; |
| | PyObject *var_default; |
| | PyObject *var_cached; |
| | uint64_t var_cached_tsid; |
| | uint64_t var_cached_tsver; |
| | Py_hash_t var_hash; |
| | }; |
| |
|
| |
|
| | struct _pycontexttokenobject { |
| | PyObject_HEAD |
| | PyContext *tok_ctx; |
| | PyContextVar *tok_var; |
| | PyObject *tok_oldval; |
| | int tok_used; |
| | }; |
| |
|
| |
|
| | int _PyContext_Init(void); |
| | void _PyContext_Fini(void); |
| |
|
| | #endif |
| |
|