mirror of
https://github.com/johndoe6345789/typthon.git
synced 2026-04-24 13:45:05 +00:00
Fixed additional patterns: - _PyOpcode_* → _TyOpcode_* (all opcode metadata) - _PyUOpName → _TyUOpName - _PyFunction_* → _TyFunction_* - _PyListIterObject → _TyListIterObject - _Py_T_OBJECT → _Ty_T_OBJECT - Py_BEGIN_ALLOW_THREADS, Py_END_ALLOW_THREADS → Ty_* - PyDoc_STRVAR, PyDoc_STR → TyDoc_* - PyInterpreterState, PyThread_*, PyTime_t → Ty* - PyStructSequence_* → TyStructSequence_* - PyLockStatus → TyLockStatus - PyVarObject_HEAD_INIT → TyVarObject_HEAD_INIT - PyBaseExceptionObject → TyBaseExceptionObject - Fixed _PyExc_ → _TyExc_ in exception macros Build is progressing further. Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
60 lines
1.1 KiB
C
60 lines
1.1 KiB
C
#ifndef Ty_INTERNAL_CONTEXT_H
|
|
#define Ty_INTERNAL_CONTEXT_H
|
|
|
|
#ifndef Ty_BUILD_CORE
|
|
# error "this header requires Ty_BUILD_CORE define"
|
|
#endif
|
|
|
|
#include "pycore_structs.h"
|
|
|
|
extern TyTypeObject _PyContextTokenMissing_Type;
|
|
|
|
/* runtime lifecycle */
|
|
|
|
TyStatus _TyContext_Init(TyInterpreterState *);
|
|
|
|
|
|
/* other API */
|
|
|
|
typedef struct {
|
|
PyObject_HEAD
|
|
} _PyContextTokenMissing;
|
|
|
|
struct _pycontextobject {
|
|
PyObject_HEAD
|
|
PyContext *ctx_prev;
|
|
PyHamtObject *ctx_vars;
|
|
TyObject *ctx_weakreflist;
|
|
int ctx_entered;
|
|
};
|
|
|
|
|
|
struct _pycontextvarobject {
|
|
PyObject_HEAD
|
|
TyObject *var_name;
|
|
TyObject *var_default;
|
|
#ifndef Ty_GIL_DISABLED
|
|
TyObject *var_cached;
|
|
uint64_t var_cached_tsid;
|
|
uint64_t var_cached_tsver;
|
|
#endif
|
|
Ty_hash_t var_hash;
|
|
};
|
|
|
|
|
|
struct _pycontexttokenobject {
|
|
PyObject_HEAD
|
|
PyContext *tok_ctx;
|
|
PyContextVar *tok_var;
|
|
TyObject *tok_oldval;
|
|
int tok_used;
|
|
};
|
|
|
|
|
|
// _testinternalcapi.hamt() used by tests.
|
|
// Export for '_testcapi' shared extension
|
|
PyAPI_FUNC(TyObject*) _TyContext_NewHamtForTests(void);
|
|
|
|
|
|
#endif /* !Ty_INTERNAL_CONTEXT_H */
|