mirror of
https://github.com/python/cpython.git
synced 2025-10-24 07:26:11 +00:00
This is the first of several precursors to storing tp_subclasses (and tp_weaklist) on the interpreter state for static builtin types.
We do the following:
* add `_PyStaticType_InitBuiltin()`
* add `_Py_TPFLAGS_STATIC_BUILTIN`
* set it on all static builtin types in `_PyStaticType_InitBuiltin()`
* shuffle some code around to be able to use _PyStaticType_InitBuiltin()
* rename `_PyStructSequence_InitType()` to `_PyStructSequence_InitBuiltinWithFlags()`
* add `_PyStructSequence_InitBuiltin()`.
35 lines
790 B
C
35 lines
790 B
C
#ifndef Py_INTERNAL_STRUCTSEQ_H
|
|
#define Py_INTERNAL_STRUCTSEQ_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef Py_BUILD_CORE
|
|
# error "this header requires Py_BUILD_CORE define"
|
|
#endif
|
|
|
|
|
|
/* other API */
|
|
|
|
PyAPI_FUNC(PyTypeObject *) _PyStructSequence_NewType(
|
|
PyStructSequence_Desc *desc,
|
|
unsigned long tp_flags);
|
|
|
|
PyAPI_FUNC(int) _PyStructSequence_InitBuiltinWithFlags(
|
|
PyTypeObject *type,
|
|
PyStructSequence_Desc *desc,
|
|
unsigned long tp_flags);
|
|
|
|
static inline int
|
|
_PyStructSequence_InitBuiltin(PyTypeObject *type,
|
|
PyStructSequence_Desc *desc)
|
|
{
|
|
return _PyStructSequence_InitBuiltinWithFlags(type, desc, 0);
|
|
}
|
|
|
|
extern void _PyStructSequence_FiniType(PyTypeObject *type);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !Py_INTERNAL_STRUCTSEQ_H */
|