diff --git a/Include/internal/pycore_unicodeobject_generated.h b/Include/internal/pycore_unicodeobject_generated.h index b30cfc678de1cd7..ed0cb716b4bfc24 100644 --- a/Include/internal/pycore_unicodeobject_generated.h +++ b/Include/internal/pycore_unicodeobject_generated.h @@ -11,3527 +11,896 @@ extern "C" { /* The following is auto-generated by Tools/build/generate_global_objects.py. */ static inline void _PyUnicode_InitStaticStrings(PyInterpreterState *interp) { - PyObject *string; - string = &_Py_ID(AGEN_CLOSED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(AGEN_CREATED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(AGEN_RUNNING); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(AGEN_SUSPENDED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(CANCELLED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(CORO_CLOSED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(CORO_CREATED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(CORO_RUNNING); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(CORO_SUSPENDED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(Emax); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(Emin); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(FINISHED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(False); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(GEN_CLOSED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(GEN_CREATED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(GEN_RUNNING); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(GEN_SUSPENDED); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(JSONDecodeError); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(PENDING); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(Py_Repr); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(TextIOWrapper); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(True); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(WarningMessage); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_WindowsConsoleIO); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__IOBase_closed); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__abc_tpflags__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__abs__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__abstractmethods__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__add__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__aenter__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__aexit__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__aiter__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__all__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__and__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__anext__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__annotate__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__annotate_func__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__annotations__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__annotations_cache__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__args__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__await__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__bases__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__bool__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__buffer__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__build_class__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__builtins__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__bytes__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__call__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__cantrace__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__ceil__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__class__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__class_getitem__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__classcell__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__classdict__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__classdictcell__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__complex__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__conditional_annotations__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__contains__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__ctypes_from_outparam__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__del__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__delattr__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__delete__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__delitem__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__dict__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__dictoffset__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__dir__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__divmod__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__doc__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__enter__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__eq__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__exit__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__file__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__firstlineno__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__float__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__floor__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__floordiv__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__format__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__fspath__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__ge__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__get__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__getattr__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__getattribute__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__getinitargs__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__getitem__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__getnewargs__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__getnewargs_ex__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__getstate__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__gt__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__hash__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__iadd__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__iand__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__ifloordiv__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__ilshift__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__imatmul__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__imod__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__import__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__imul__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__index__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__init__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__init_subclass__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__instancecheck__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__int__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__invert__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__ior__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__ipow__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__irshift__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__isabstractmethod__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__isub__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__iter__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__itruediv__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__ixor__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__lazy_import__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__lazy_modules__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__le__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__len__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__length_hint__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__lltrace__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__loader__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__lshift__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__lt__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__main__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__match_args__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__matmul__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__missing__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__mod__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__module__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__mro_entries__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__mul__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__name__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__ne__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__neg__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__new__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__newobj__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__newobj_ex__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__next__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__notes__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__or__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__orig_class__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__origin__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__package__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__parameters__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__path__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__pos__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__pow__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__prepare__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__qualname__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__radd__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rand__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rdivmod__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__reduce__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__reduce_ex__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__release_buffer__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__repr__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__reversed__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rfloordiv__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rlshift__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rmatmul__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rmod__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rmul__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__ror__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__round__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rpow__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rrshift__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rshift__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rsub__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rtruediv__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__rxor__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__set__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__set_name__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__setattr__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__setitem__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__setstate__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__sizeof__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__slotnames__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__slots__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__spec__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__static_attributes__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__str__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__sub__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__subclasscheck__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__subclasshook__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__truediv__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__trunc__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__type_params__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__typing_is_unpacked_typevartuple__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__typing_prepare_subst__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__typing_subst__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__typing_unpacked_tuple_args__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__warningregistry__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__weaklistoffset__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__weakref__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(__xor__); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_abc_impl); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_abstract_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_active); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_anonymous_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_argtypes_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_as_parameter_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_asyncio_future_blocking); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_blksize); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_bootstrap); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_check_retval_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_dealloc_warn); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_feature_version); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_field_types); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_fields_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_filters); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_finalizing); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_find_and_load); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_find_and_load_lazy_submodule); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_fix_up_module); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_flags_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_get_sourcefile); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_handle_fromlist); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_initializing); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_internal_use); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_io); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_is_text_encoding); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_isatty_open_only); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_length_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_limbo); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_lock_unlock_module); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_loop); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_needs_com_addref_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_only_immortal); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_restype_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_showwarnmsg); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_shutdown); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_slotnames); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_strptime); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_strptime_datetime_date); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_strptime_datetime_datetime); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_strptime_datetime_time); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_type_); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_uninitialized_submodules); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_warn_unawaited_coroutine); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(_xoptions); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(abs_tol); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(access); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(aclose); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(add); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(add_done_callback); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(adobe); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(after_in_child); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(after_in_parent); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(alias); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(align); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(all); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(all_interpreters); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(all_threads); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(allow_code); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(alphabet); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(any); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(append); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(arg); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(argdefs); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(args); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(arguments); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(argv); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(as_integer_ratio); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(asend); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(assoclen); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(ast); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(athrow); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(attr); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(attribute); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(autocommit); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(backtick); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(base); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(before); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(big); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(binary_form); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(bit_offset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(bit_size); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(block); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(blocking); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(bound); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(buffer); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(buffer_callback); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(buffer_size); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(buffering); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(buffers); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(bufsize); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(builtins); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(byte_offset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(byte_size); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(byteorder); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(bytes); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(bytes_per_sep); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(c_call); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(c_exception); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(c_parameter_type); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(c_return); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(c_stack); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(cache_frames); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(cached_datetime_module); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(cached_statements); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(cadata); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(cafile); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(call); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(call_exception_handler); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(call_soon); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(callable); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(callback); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(cancel); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(canonical); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(capath); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(capitals); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(category); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(cb_type); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(certfile); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(chain); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(check_same_thread); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(clamp); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(clear); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(close); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(closed); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(closefd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(closure); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_argcount); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_cellvars); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_code); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_consts); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_exceptiontable); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_filename); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_firstlineno); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_flags); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_freevars); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_kwonlyargcount); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_linetable); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_name); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_names); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_nlocals); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_posonlyargcount); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_qualname); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_stacksize); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(co_varnames); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(code); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(col_offset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(collector); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(command); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(comment_factory); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(compile_mode); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(compression); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(config); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(consts); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(context); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(contravariant); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(conversion); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(cookie); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(copy); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(copyreg); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(coro); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(count); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(covariant); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(ctx); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(cwd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(d_parameter_type); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(data); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(database); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(date); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(day); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(days); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(debug); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(decode); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(decoder); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(default); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(defaultaction); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(delete); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(depth); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(desired_access); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(detect_types); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(deterministic); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(device); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(dict); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(difference_update); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(digest); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(digest_size); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(digestmod); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(dir_fd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(discard); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(dispatch_table); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(displayhook); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(dklen); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(doc); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(done); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(dont_inherit); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(dst); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(dst_dir_fd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(duration_sec); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(eager_start); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(effective_ids); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(element_factory); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(emptyerror); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(encode); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(encoding); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(end); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(end_col_offset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(end_lineno); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(end_offset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(endpos); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(entrypoint); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(env); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(error_rate); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(errors); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(event); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(eventmask); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(exc); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(exc_tb); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(exc_type); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(exc_val); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(exc_value); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(excepthook); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(exception); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(existing_file_name); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(exit); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(exp); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(expression); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(extend); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(extra_tokens); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(facility); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(factory); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fallback); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(false); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(family); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fanout); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fd2); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fdel); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fget); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fields); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(file); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(file_actions); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(filename); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fileno); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(filepath); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fillvalue); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(filter); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(filters); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(final); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(find_class); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fix_imports); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(flags); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(flush); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fold); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(foldspaces); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(follow_symlinks); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(format); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(format_spec); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(frame_buffer); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(free_threaded); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(from_param); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fromlist); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fromtimestamp); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fromutc); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(fullerror); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(func); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(future); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(gc); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(generation); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(get); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(get_debug); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(get_loop); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(get_source); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(getattr); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(getstate); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(gid); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(globals); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(groupindex); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(groups); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(handle); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(handle_seq); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(has_location); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(hash_name); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(header); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(headers); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(hi); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(hook); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(host); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(hour); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(hours); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(id); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(ident); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(identity_hint); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(ignore); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(ignorechars); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(imag); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(implieslink); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(importlib); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(in_fd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(include_aliases); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(incoming); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(index); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(indexgroup); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(inf); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(infer_variance); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(inherit_handle); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(inheritable); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(initial); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(initial_bytes); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(initial_owner); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(initial_state); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(initial_value); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(initval); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(inner_size); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(input); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(insert_comments); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(insert_pis); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(instructions); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(intern); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(intersection); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(interval); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(io); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(is_compress); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(is_raw); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(is_running); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(is_struct); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(isatty); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(isinstance); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(isoformat); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(isolation_level); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(istext); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(item); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(items); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(iter); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(iterable); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(iterations); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(iv); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(join); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(jump); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(keepends); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(key); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(keyfile); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(keys); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(kind); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(kw); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(kw1); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(kw2); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(kwargs); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(kwdefaults); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(label); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(last); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(last_exc); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(last_node); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(last_traceback); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(last_type); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(last_value); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(latin1); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(leaf_size); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(legacy); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(len); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(length); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(level); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(limit); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(line); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(line_buffering); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(lineno); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(little); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(lo); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(locale); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(locals); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(logoption); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(loop); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(manual_reset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(mapping); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(mask); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(match); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(max_length); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(max_threads); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(maxdigits); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(maxevents); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(maxlen); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(maxmem); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(maxsize); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(maxsplit); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(maxvalue); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(memLevel); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(memlimit); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(message); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(metaclass); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(metadata); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(method); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(microsecond); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(microseconds); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(milliseconds); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(minute); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(minutes); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(missed_samples); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(mod); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(mode); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(module); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(module_globals); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(modules); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(modulo); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(month); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(mro); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(msg); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(mutex); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(mycmp); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(n_fields); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(n_sequence_fields); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(n_unnamed_fields); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(name); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(name_from); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(namespace_separator); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(namespaces); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(native); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(nbytes); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(ndigits); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(nested); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(new_file_name); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(new_limit); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(newline); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(newlines); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(next); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(nlocals); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(node_depth); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(node_offset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(ns); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(nstype); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(nt); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(null); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(number); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(obj); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(object); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(offset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(offset_dst); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(offset_src); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(on_type_read); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(onceregistry); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(only_active_thread); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(only_keys); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(op); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(oparg); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(opcode); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(opcodes); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(open); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(opener); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(operation); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(optimize); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(options); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(order); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(origin); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(other); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(out_fd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(outgoing); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(outpath); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(overlapped); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(owner); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pad); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(padded); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pages); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pair); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(parameter); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(parent); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(password); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(path); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pattern); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(peek); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(persistent_id); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(persistent_load); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(person); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pi_factory); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pid); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pidfd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pointer_bits); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(policy); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(port); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pos); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pos1); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(pos2); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(posix); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(prec); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(preserve_exc); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(print_file_and_line); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(priority); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(progress); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(progress_callback); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(progress_routine); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(proto); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(protocol); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(ps1); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(ps2); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(qid); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(qualname); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(query); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(queuetype); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(quotetabs); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(raw); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(read); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(read1); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(readable); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(readall); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(readinto); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(readinto1); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(readline); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(readonly); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(real); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(recursive); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(reducer_override); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(registry); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(rel_tol); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(release); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(reload); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(repeat); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(repl); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(replace); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(repr); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(reqrefs); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(require_ready); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(reserved); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(reset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(resetids); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(restrict); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(return); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(reverse); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(reversed); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(rounding); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(salt); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(sample_interval_us); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(sample_rate); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(sched_priority); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(scheduler); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(script); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(second); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(seconds); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(security_attributes); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(seek); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(seekable); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(selectors); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(self); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(send); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(sep); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(sequence); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(server_hostname); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(server_side); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(session); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(setpgroup); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(setsid); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(setsigdef); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(setsigmask); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(setstate); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(shape); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(shared); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(short); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(show_cmd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(signed); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(signum); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(size); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(sizehint); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(skip_file_prefixes); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(skip_non_matching_threads); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(sleep); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(sock); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(sort); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(source); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(source_traceback); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(spam); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(src); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(src_dir_fd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(stack_frames); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(stacklevel); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(start); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(start_time_us); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(statement); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(stats); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(status); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(stderr); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(stdin); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(stdout); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(step); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(steps); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(stop_exception); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(stop_value); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(store_name); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(strategy); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(strftime); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(strict); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(strict_mode); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(string); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(sub_key); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(subcalls); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(symmetric_difference_update); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(tabsize); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(tag); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(take_bytes); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(target); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(target_is_directory); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(targetfd); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(task); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(tb_frame); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(tb_lasti); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(tb_lineno); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(tb_next); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(tell); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(template); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(term); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(text); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(third); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(threading); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(throw); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(time); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(timeout); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(timer); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(times); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(timespec); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(timestamp); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(timestamp_us); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(timetuple); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(timeunit); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(top); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(traceback); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(trailers); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(translate); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(traps); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(true); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(truncate); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(twice); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(txt); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(type); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(type_params); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(tz); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(tzinfo); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(tzname); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(uid); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(unboundop); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(unlink); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(unraisablehook); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(updates); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(uri); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(usedforsecurity); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(utcoffset); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(value); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(values); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(version); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(volume); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(wait_all); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(warn_on_full_buffer); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(warnings); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(warnoptions); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(wbits); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(week); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(weekday); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(weeks); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(which); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(who); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(withdata); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(wrapcol); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(writable); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(write); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(write_through); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(year); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(zdict); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_ID(zstd_dict); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(empty); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(dbl_percent); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(dot_locals); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(defaults); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(format); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(generic_base); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(kwdefaults); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(type_params); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(str_replace_inf); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(gc); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(anon_null); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(anon_dictcomp); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(anon_genexpr); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(anon_lambda); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(anon_listcomp); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(anon_module); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(native); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(anon_setcomp); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(anon_string); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(anon_unknown); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(json_decoder); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(list_err); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(utf_8); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(dbl_open_br); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); - string = &_Py_STR(dbl_close_br); - _PyUnicode_InternStatic(interp, &string); - assert(_PyUnicode_CheckConsistency(string, 1)); - assert(PyUnicode_GET_LENGTH(string) != 1); + // Offsets avoid a pointer relocation for each string. + static const size_t offsets[] = { + offsetof(struct _Py_global_strings, identifiers._py_AGEN_CLOSED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_AGEN_CREATED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_AGEN_RUNNING._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_AGEN_SUSPENDED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_CANCELLED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_CORO_CLOSED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_CORO_CREATED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_CORO_RUNNING._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_CORO_SUSPENDED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_Emax._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_Emin._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_FINISHED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_False._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_GEN_CLOSED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_GEN_CREATED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_GEN_RUNNING._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_GEN_SUSPENDED._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_JSONDecodeError._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_PENDING._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_Py_Repr._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_TextIOWrapper._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_True._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_WarningMessage._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__WindowsConsoleIO._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___IOBase_closed._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___abc_tpflags__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___abs__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___abstractmethods__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___add__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___aenter__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___aexit__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___aiter__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___all__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___and__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___anext__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___annotate__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___annotate_func__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___annotations__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___annotations_cache__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___args__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___await__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___bases__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___bool__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___buffer__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___build_class__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___builtins__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___bytes__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___call__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___cantrace__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___ceil__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___class__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___class_getitem__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___classcell__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___classdict__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___classdictcell__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___complex__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___conditional_annotations__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___contains__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___ctypes_from_outparam__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___del__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___delattr__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___delete__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___delitem__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___dict__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___dictoffset__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___dir__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___divmod__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___doc__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___enter__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___eq__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___exit__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___file__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___firstlineno__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___float__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___floor__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___floordiv__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___format__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___fspath__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___ge__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___get__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___getattr__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___getattribute__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___getinitargs__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___getitem__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___getnewargs__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___getnewargs_ex__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___getstate__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___gt__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___hash__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___iadd__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___iand__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___ifloordiv__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___ilshift__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___imatmul__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___imod__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___import__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___imul__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___index__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___init__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___init_subclass__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___instancecheck__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___int__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___invert__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___ior__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___ipow__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___irshift__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___isabstractmethod__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___isub__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___iter__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___itruediv__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___ixor__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___lazy_import__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___lazy_modules__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___le__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___len__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___length_hint__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___lltrace__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___loader__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___lshift__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___lt__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___main__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___match_args__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___matmul__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___missing__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___mod__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___module__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___mro_entries__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___mul__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___name__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___ne__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___neg__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___new__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___newobj__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___newobj_ex__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___next__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___notes__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___or__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___orig_class__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___origin__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___package__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___parameters__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___path__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___pos__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___pow__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___prepare__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___qualname__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___radd__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rand__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rdivmod__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___reduce__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___reduce_ex__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___release_buffer__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___repr__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___reversed__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rfloordiv__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rlshift__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rmatmul__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rmod__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rmul__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___ror__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___round__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rpow__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rrshift__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rshift__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rsub__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rtruediv__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___rxor__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___set__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___set_name__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___setattr__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___setitem__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___setstate__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___sizeof__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___slotnames__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___slots__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___spec__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___static_attributes__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___str__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___sub__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___subclasscheck__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___subclasshook__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___truediv__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___trunc__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___type_params__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___typing_is_unpacked_typevartuple__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___typing_prepare_subst__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___typing_subst__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___typing_unpacked_tuple_args__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___warningregistry__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___weaklistoffset__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___weakref__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py___xor__._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__abc_impl._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__abstract_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__active._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__anonymous_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__argtypes_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__as_parameter_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__asyncio_future_blocking._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__blksize._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__bootstrap._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__check_retval_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__dealloc_warn._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__feature_version._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__field_types._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__fields_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__filters._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__finalizing._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__find_and_load._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__find_and_load_lazy_submodule._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__fix_up_module._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__flags_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__get_sourcefile._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__handle_fromlist._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__initializing._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__internal_use._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__io._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__is_text_encoding._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__isatty_open_only._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__length_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__limbo._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__lock_unlock_module._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__loop._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__needs_com_addref_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__only_immortal._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__restype_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__showwarnmsg._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__shutdown._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__slotnames._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__strptime._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__strptime_datetime_date._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__strptime_datetime_datetime._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__strptime_datetime_time._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__type_._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__uninitialized_submodules._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__warn_unawaited_coroutine._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py__xoptions._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_abs_tol._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_access._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_aclose._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_add._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_add_done_callback._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_adobe._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_after_in_child._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_after_in_parent._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_alias._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_align._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_all._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_all_interpreters._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_all_threads._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_allow_code._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_alphabet._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_any._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_append._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_arg._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_argdefs._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_args._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_arguments._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_argv._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_as_integer_ratio._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_asend._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_assoclen._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_ast._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_athrow._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_attr._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_attribute._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_autocommit._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_backtick._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_base._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_before._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_big._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_binary_form._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_bit_offset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_bit_size._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_block._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_blocking._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_bound._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_buffer._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_buffer_callback._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_buffer_size._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_buffering._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_buffers._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_bufsize._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_builtins._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_byte_offset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_byte_size._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_byteorder._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_bytes._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_bytes_per_sep._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_c_call._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_c_exception._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_c_parameter_type._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_c_return._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_c_stack._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_cache_frames._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_cached_datetime_module._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_cached_statements._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_cadata._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_cafile._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_call._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_call_exception_handler._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_call_soon._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_callable._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_callback._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_cancel._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_canonical._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_capath._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_capitals._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_category._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_cb_type._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_certfile._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_chain._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_check_same_thread._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_clamp._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_clear._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_close._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_closed._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_closefd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_closure._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_argcount._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_cellvars._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_code._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_consts._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_exceptiontable._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_filename._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_firstlineno._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_flags._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_freevars._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_kwonlyargcount._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_linetable._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_name._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_names._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_nlocals._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_posonlyargcount._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_qualname._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_stacksize._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_co_varnames._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_code._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_col_offset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_collector._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_command._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_comment_factory._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_compile_mode._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_compression._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_config._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_consts._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_context._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_contravariant._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_conversion._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_cookie._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_copy._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_copyreg._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_coro._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_count._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_covariant._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_ctx._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_cwd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_d_parameter_type._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_data._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_database._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_date._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_day._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_days._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_debug._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_decode._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_decoder._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_default._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_defaultaction._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_delete._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_depth._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_desired_access._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_detect_types._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_deterministic._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_device._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_dict._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_difference_update._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_digest._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_digest_size._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_digestmod._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_dir_fd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_discard._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_dispatch_table._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_displayhook._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_dklen._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_doc._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_done._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_dont_inherit._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_dst._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_dst_dir_fd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_duration_sec._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_eager_start._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_effective_ids._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_element_factory._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_emptyerror._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_encode._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_encoding._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_end._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_end_col_offset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_end_lineno._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_end_offset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_endpos._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_entrypoint._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_env._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_error_rate._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_errors._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_event._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_eventmask._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_exc._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_exc_tb._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_exc_type._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_exc_val._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_exc_value._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_excepthook._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_exception._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_existing_file_name._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_exit._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_exp._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_expression._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_extend._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_extra_tokens._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_facility._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_factory._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fallback._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_false._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_family._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fanout._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fd2._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fdel._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fget._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fields._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_file._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_file_actions._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_filename._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fileno._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_filepath._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fillvalue._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_filter._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_filters._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_final._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_find_class._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fix_imports._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_flags._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_flush._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fold._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_foldspaces._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_follow_symlinks._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_format._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_format_spec._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_frame_buffer._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_free_threaded._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_from_param._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fromlist._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fromtimestamp._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fromutc._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_fullerror._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_func._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_future._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_gc._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_generation._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_get._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_get_debug._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_get_loop._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_get_source._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_getattr._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_getstate._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_gid._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_globals._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_groupindex._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_groups._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_handle._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_handle_seq._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_has_location._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_hash_name._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_header._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_headers._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_hi._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_hook._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_host._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_hour._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_hours._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_id._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_ident._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_identity_hint._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_ignore._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_ignorechars._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_imag._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_implieslink._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_importlib._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_in_fd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_include_aliases._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_incoming._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_index._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_indexgroup._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_inf._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_infer_variance._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_inherit_handle._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_inheritable._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_initial._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_initial_bytes._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_initial_owner._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_initial_state._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_initial_value._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_initval._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_inner_size._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_input._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_insert_comments._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_insert_pis._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_instructions._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_intern._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_intersection._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_interval._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_io._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_is_compress._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_is_raw._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_is_running._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_is_struct._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_isatty._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_isinstance._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_isoformat._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_isolation_level._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_istext._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_item._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_items._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_iter._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_iterable._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_iterations._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_iv._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_join._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_jump._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_keepends._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_key._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_keyfile._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_keys._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_kind._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_kw._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_kw1._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_kw2._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_kwargs._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_kwdefaults._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_label._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_last._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_last_exc._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_last_node._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_last_traceback._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_last_type._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_last_value._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_latin1._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_leaf_size._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_legacy._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_len._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_length._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_level._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_limit._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_line._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_line_buffering._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_lineno._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_little._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_lo._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_locale._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_locals._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_logoption._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_loop._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_manual_reset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_mapping._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_mask._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_match._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_max_length._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_max_threads._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_maxdigits._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_maxevents._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_maxlen._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_maxmem._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_maxsize._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_maxsplit._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_maxvalue._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_memLevel._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_memlimit._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_message._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_metaclass._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_metadata._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_method._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_microsecond._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_microseconds._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_milliseconds._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_minute._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_minutes._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_missed_samples._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_mod._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_mode._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_module._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_module_globals._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_modules._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_modulo._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_month._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_mro._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_msg._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_mutex._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_mycmp._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_n_fields._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_n_sequence_fields._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_n_unnamed_fields._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_name._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_name_from._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_namespace_separator._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_namespaces._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_native._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_nbytes._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_ndigits._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_nested._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_new_file_name._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_new_limit._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_newline._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_newlines._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_next._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_nlocals._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_node_depth._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_node_offset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_ns._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_nstype._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_nt._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_null._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_number._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_obj._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_object._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_offset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_offset_dst._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_offset_src._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_on_type_read._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_onceregistry._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_only_active_thread._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_only_keys._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_op._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_oparg._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_opcode._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_opcodes._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_open._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_opener._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_operation._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_optimize._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_options._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_order._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_origin._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_other._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_out_fd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_outgoing._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_outpath._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_overlapped._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_owner._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pad._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_padded._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pages._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pair._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_parameter._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_parent._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_password._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_path._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pattern._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_peek._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_persistent_id._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_persistent_load._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_person._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pi_factory._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pid._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pidfd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pointer_bits._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_policy._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_port._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pos._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pos1._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_pos2._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_posix._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_prec._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_preserve_exc._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_print_file_and_line._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_priority._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_progress._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_progress_callback._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_progress_routine._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_proto._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_protocol._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_ps1._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_ps2._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_qid._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_qualname._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_query._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_queuetype._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_quotetabs._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_raw._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_read._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_read1._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_readable._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_readall._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_readinto._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_readinto1._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_readline._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_readonly._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_real._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_recursive._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_reducer_override._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_registry._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_rel_tol._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_release._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_reload._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_repeat._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_repl._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_replace._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_repr._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_reqrefs._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_require_ready._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_reserved._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_reset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_resetids._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_restrict._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_return._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_reverse._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_reversed._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_rounding._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_salt._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_sample_interval_us._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_sample_rate._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_sched_priority._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_scheduler._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_script._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_second._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_seconds._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_security_attributes._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_seek._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_seekable._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_selectors._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_self._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_send._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_sep._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_sequence._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_server_hostname._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_server_side._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_session._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_setpgroup._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_setsid._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_setsigdef._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_setsigmask._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_setstate._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_shape._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_shared._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_short._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_show_cmd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_signed._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_signum._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_size._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_sizehint._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_skip_file_prefixes._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_skip_non_matching_threads._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_sleep._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_sock._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_sort._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_source._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_source_traceback._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_spam._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_src._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_src_dir_fd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_stack_frames._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_stacklevel._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_start._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_start_time_us._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_statement._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_stats._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_status._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_stderr._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_stdin._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_stdout._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_step._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_steps._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_stop_exception._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_stop_value._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_store_name._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_strategy._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_strftime._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_strict._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_strict_mode._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_string._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_sub_key._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_subcalls._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_symmetric_difference_update._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_tabsize._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_tag._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_take_bytes._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_target._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_target_is_directory._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_targetfd._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_task._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_tb_frame._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_tb_lasti._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_tb_lineno._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_tb_next._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_tell._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_template._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_term._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_text._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_third._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_threading._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_throw._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_time._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_timeout._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_timer._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_times._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_timespec._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_timestamp._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_timestamp_us._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_timetuple._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_timeunit._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_top._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_traceback._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_trailers._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_translate._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_traps._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_true._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_truncate._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_twice._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_txt._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_type._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_type_params._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_tz._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_tzinfo._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_tzname._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_uid._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_unboundop._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_unlink._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_unraisablehook._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_updates._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_uri._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_usedforsecurity._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_utcoffset._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_value._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_values._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_version._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_volume._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_wait_all._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_warn_on_full_buffer._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_warnings._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_warnoptions._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_wbits._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_week._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_weekday._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_weeks._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_which._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_who._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_withdata._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_wrapcol._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_writable._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_write._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_write_through._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_year._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_zdict._ascii.ob_base), + offsetof(struct _Py_global_strings, identifiers._py_zstd_dict._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_empty._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_dbl_percent._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_dot_locals._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_defaults._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_format._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_generic_base._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_kwdefaults._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_type_params._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_str_replace_inf._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_gc._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_anon_null._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_anon_dictcomp._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_anon_genexpr._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_anon_lambda._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_anon_listcomp._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_anon_module._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_native._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_anon_setcomp._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_anon_string._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_anon_unknown._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_json_decoder._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_list_err._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_utf_8._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_dbl_open_br._ascii.ob_base), + offsetof(struct _Py_global_strings, literals._py_dbl_close_br._ascii.ob_base), + }; + char *base = (char *)&_Py_SINGLETON(strings); + for (size_t i = 0; i < Py_ARRAY_LENGTH(offsets); i++) { + PyObject *string = (PyObject *)(base + offsets[i]); + _PyUnicode_InternStatic(interp, &string); + assert(_PyUnicode_CheckConsistency(string, 1)); + assert(PyUnicode_GET_LENGTH(string) != 1); + } } /* End auto-generated code */ #ifdef __cplusplus diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py index b2581e48810b893..e6df30d18eb4f0d 100755 --- a/Parser/asdl_c.py +++ b/Parser/asdl_c.py @@ -786,63 +786,122 @@ def visitConstructor(self, cons, name): class AnnotationsVisitor(PickleVisitor): def visitModule(self, mod): + self.nodes = [] + for dfn in mod.dfns: + self.visit(dfn) + builtins = list(dict.fromkeys(builtin_type_to_c_type.values())) self.file.write(textwrap.dedent(''' static int add_ast_annotations(struct ast_state *state) { - bool cond; + enum { + FIELD_OPTIONAL = 1, + FIELD_SEQUENCE = 2, + FIELD_BUILTIN = 4, + }; + static PyTypeObject *const builtin_types[] = { ''')) - for dfn in mod.dfns: - self.visit(dfn) + for c_type in builtins: + self.emit(f"&{c_type},", 2) self.file.write(textwrap.dedent(''' + }; + // Offsets refer to this interpreter's AST state, not global types. + static const struct { + size_t name_offset; + size_t type_offset; // An index into builtin_types for builtins. + unsigned int flags; + } fields[] = { + ''')) + for name, fields in self.nodes: + for field in fields: + flags = [] + if field.opt: + flags.append("FIELD_OPTIONAL") + elif field.seq: + flags.append("FIELD_SEQUENCE") + if field.type in builtin_type_to_c_type: + c_type = builtin_type_to_c_type[field.type] + type_offset = str(builtins.index(c_type)) + flags.append("FIELD_BUILTIN") + else: + type_offset = f"offsetof(struct ast_state, {field.type}_type)" + flags = " | ".join(flags) or "0" + self.emit(f"{{offsetof(struct ast_state, {field.name}),", 2) + self.emit(f" {type_offset}, {flags}}},", 2) + self.file.write(textwrap.dedent(''' + }; + static const struct { + size_t type_offset; + size_t first_field; + size_t nfields; + } nodes[] = { + ''')) + start = 0 + for name, fields in self.nodes: + self.emit(f"{{offsetof(struct ast_state, {name}_type), " + f"{start}, {len(fields)}}},", 2) + start += len(fields) + self.file.write(textwrap.dedent(''' + }; + char *base = (char *)state; + PyObject *annotations = NULL; + for (size_t i = 0; i < Py_ARRAY_LENGTH(nodes); i++) { + annotations = PyDict_New(); + if (annotations == NULL) { + goto error; + } + size_t end = nodes[i].first_field + nodes[i].nfields; + for (size_t j = nodes[i].first_field; j < end; j++) { + PyObject *name = *(PyObject **)(base + fields[j].name_offset); + PyObject *type; + if (fields[j].flags & FIELD_BUILTIN) { + type = (PyObject *)builtin_types[fields[j].type_offset]; + } + else { + type = *(PyObject **)(base + fields[j].type_offset); + } + if (fields[j].flags & FIELD_OPTIONAL) { + type = _Py_union_type_or(type, Py_None); + } + else if (fields[j].flags & FIELD_SEQUENCE) { + type = Py_GenericAlias((PyObject *)&PyList_Type, type); + } + else { + Py_INCREF(type); + } + if (type == NULL) { + goto error; + } + int res = PyDict_SetItem(annotations, name, type); + Py_DECREF(type); + if (res < 0) { + goto error; + } + } + PyObject *node = *(PyObject **)(base + nodes[i].type_offset); + if (PyObject_SetAttrString(node, "_field_types", annotations) < 0 || + PyObject_SetAttrString(node, "__annotations__", annotations) < 0) + { + goto error; + } + Py_CLEAR(annotations); + } return 1; + error: + Py_XDECREF(annotations); + return 0; } ''')) def visitProduct(self, prod, name): - self.emit_annotations(name, prod.fields) + self.nodes.append((name, prod.fields)) def visitSum(self, sum, name): for t in sum.types: self.visitConstructor(t, name) def visitConstructor(self, cons, name): - self.emit_annotations(cons.name, cons.fields) - - def emit_annotations(self, name, fields): - self.emit(f"PyObject *{name}_annotations = PyDict_New();", 1) - self.emit(f"if (!{name}_annotations) return 0;", 1) - for field in fields: - self.emit("{", 1) - if field.type in builtin_type_to_c_type: - self.emit(f"PyObject *type = (PyObject *)&{builtin_type_to_c_type[field.type]};", 2) - else: - self.emit(f"PyObject *type = state->{field.type}_type;", 2) - if field.opt: - self.emit("type = _Py_union_type_or(type, Py_None);", 2) - self.emit("cond = type != NULL;", 2) - self.emit_annotations_error(name, 2) - elif field.seq: - self.emit("type = Py_GenericAlias((PyObject *)&PyList_Type, type);", 2) - self.emit("cond = type != NULL;", 2) - self.emit_annotations_error(name, 2) - else: - self.emit("Py_INCREF(type);", 2) - self.emit(f"cond = PyDict_SetItemString({name}_annotations, \"{field.name}\", type) == 0;", 2) - self.emit("Py_DECREF(type);", 2) - self.emit_annotations_error(name, 2) - self.emit("}", 1) - self.emit(f'cond = PyObject_SetAttrString(state->{name}_type, "_field_types", {name}_annotations) == 0;', 1) - self.emit_annotations_error(name, 1) - self.emit(f'cond = PyObject_SetAttrString(state->{name}_type, "__annotations__", {name}_annotations) == 0;', 1) - self.emit_annotations_error(name, 1) - self.emit(f"Py_DECREF({name}_annotations);", 1) - - def emit_annotations_error(self, name, depth): - self.emit("if (!cond) {", depth) - self.emit(f"Py_DECREF({name}_annotations);", depth + 1) - self.emit("return 0;", depth + 1) - self.emit("}", depth) + self.nodes.append((cons.name, cons.fields)) class PyTypesVisitor(PickleVisitor): @@ -2213,9 +2272,15 @@ def generate_ast_fini(module_state, f): struct ast_state *state = &interp->ast; """)) + f.write(" static const size_t offsets[] = {\n") for s in module_state: - f.write(" Py_CLEAR(state->" + s + ');\n') + f.write(" offsetof(struct ast_state, " + s + "),\n") + f.write(" };\n") f.write(textwrap.dedent(""" + for (size_t i = 0; i < Py_ARRAY_LENGTH(offsets); i++) { + PyObject **field = (PyObject **)((char *)state + offsets[i]); + Py_CLEAR(*field); + } state->finalized = 1; state->once = (_PyOnceFlag){0}; } diff --git a/Python/Python-ast.c b/Python/Python-ast.c index 383384fc1706b47..720cbdb7feb5d7c 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -33,255 +33,261 @@ void _PyAST_Fini(PyInterpreterState *interp) { struct ast_state *state = &interp->ast; - Py_CLEAR(state->AST_type); - Py_CLEAR(state->Add_singleton); - Py_CLEAR(state->Add_type); - Py_CLEAR(state->And_singleton); - Py_CLEAR(state->And_type); - Py_CLEAR(state->AnnAssign_type); - Py_CLEAR(state->Assert_type); - Py_CLEAR(state->Assign_type); - Py_CLEAR(state->AsyncFor_type); - Py_CLEAR(state->AsyncFunctionDef_type); - Py_CLEAR(state->AsyncWith_type); - Py_CLEAR(state->Attribute_type); - Py_CLEAR(state->AugAssign_type); - Py_CLEAR(state->Await_type); - Py_CLEAR(state->BinOp_type); - Py_CLEAR(state->BitAnd_singleton); - Py_CLEAR(state->BitAnd_type); - Py_CLEAR(state->BitOr_singleton); - Py_CLEAR(state->BitOr_type); - Py_CLEAR(state->BitXor_singleton); - Py_CLEAR(state->BitXor_type); - Py_CLEAR(state->BoolOp_type); - Py_CLEAR(state->Break_type); - Py_CLEAR(state->Call_type); - Py_CLEAR(state->ClassDef_type); - Py_CLEAR(state->Compare_type); - Py_CLEAR(state->Constant_type); - Py_CLEAR(state->Continue_type); - Py_CLEAR(state->Del_singleton); - Py_CLEAR(state->Del_type); - Py_CLEAR(state->Delete_type); - Py_CLEAR(state->DictComp_type); - Py_CLEAR(state->Dict_type); - Py_CLEAR(state->Div_singleton); - Py_CLEAR(state->Div_type); - Py_CLEAR(state->Eq_singleton); - Py_CLEAR(state->Eq_type); - Py_CLEAR(state->ExceptHandler_type); - Py_CLEAR(state->Expr_type); - Py_CLEAR(state->Expression_type); - Py_CLEAR(state->FloorDiv_singleton); - Py_CLEAR(state->FloorDiv_type); - Py_CLEAR(state->For_type); - Py_CLEAR(state->FormattedValue_type); - Py_CLEAR(state->FunctionDef_type); - Py_CLEAR(state->FunctionType_type); - Py_CLEAR(state->GeneratorExp_type); - Py_CLEAR(state->Global_type); - Py_CLEAR(state->GtE_singleton); - Py_CLEAR(state->GtE_type); - Py_CLEAR(state->Gt_singleton); - Py_CLEAR(state->Gt_type); - Py_CLEAR(state->IfExp_type); - Py_CLEAR(state->If_type); - Py_CLEAR(state->ImportFrom_type); - Py_CLEAR(state->Import_type); - Py_CLEAR(state->In_singleton); - Py_CLEAR(state->In_type); - Py_CLEAR(state->Interactive_type); - Py_CLEAR(state->Interpolation_type); - Py_CLEAR(state->Invert_singleton); - Py_CLEAR(state->Invert_type); - Py_CLEAR(state->IsNot_singleton); - Py_CLEAR(state->IsNot_type); - Py_CLEAR(state->Is_singleton); - Py_CLEAR(state->Is_type); - Py_CLEAR(state->JoinedStr_type); - Py_CLEAR(state->LShift_singleton); - Py_CLEAR(state->LShift_type); - Py_CLEAR(state->Lambda_type); - Py_CLEAR(state->ListComp_type); - Py_CLEAR(state->List_type); - Py_CLEAR(state->Load_singleton); - Py_CLEAR(state->Load_type); - Py_CLEAR(state->LtE_singleton); - Py_CLEAR(state->LtE_type); - Py_CLEAR(state->Lt_singleton); - Py_CLEAR(state->Lt_type); - Py_CLEAR(state->MatMult_singleton); - Py_CLEAR(state->MatMult_type); - Py_CLEAR(state->MatchAs_type); - Py_CLEAR(state->MatchClass_type); - Py_CLEAR(state->MatchMapping_type); - Py_CLEAR(state->MatchOr_type); - Py_CLEAR(state->MatchSequence_type); - Py_CLEAR(state->MatchSingleton_type); - Py_CLEAR(state->MatchStar_type); - Py_CLEAR(state->MatchValue_type); - Py_CLEAR(state->Match_type); - Py_CLEAR(state->Mod_singleton); - Py_CLEAR(state->Mod_type); - Py_CLEAR(state->Module_type); - Py_CLEAR(state->Mult_singleton); - Py_CLEAR(state->Mult_type); - Py_CLEAR(state->Name_type); - Py_CLEAR(state->NamedExpr_type); - Py_CLEAR(state->Nonlocal_type); - Py_CLEAR(state->NotEq_singleton); - Py_CLEAR(state->NotEq_type); - Py_CLEAR(state->NotIn_singleton); - Py_CLEAR(state->NotIn_type); - Py_CLEAR(state->Not_singleton); - Py_CLEAR(state->Not_type); - Py_CLEAR(state->Or_singleton); - Py_CLEAR(state->Or_type); - Py_CLEAR(state->ParamSpec_type); - Py_CLEAR(state->Pass_type); - Py_CLEAR(state->Pow_singleton); - Py_CLEAR(state->Pow_type); - Py_CLEAR(state->RShift_singleton); - Py_CLEAR(state->RShift_type); - Py_CLEAR(state->Raise_type); - Py_CLEAR(state->Return_type); - Py_CLEAR(state->SetComp_type); - Py_CLEAR(state->Set_type); - Py_CLEAR(state->Slice_type); - Py_CLEAR(state->Starred_type); - Py_CLEAR(state->Store_singleton); - Py_CLEAR(state->Store_type); - Py_CLEAR(state->Sub_singleton); - Py_CLEAR(state->Sub_type); - Py_CLEAR(state->Subscript_type); - Py_CLEAR(state->TemplateStr_type); - Py_CLEAR(state->TryStar_type); - Py_CLEAR(state->Try_type); - Py_CLEAR(state->Tuple_type); - Py_CLEAR(state->TypeAlias_type); - Py_CLEAR(state->TypeIgnore_type); - Py_CLEAR(state->TypeVarTuple_type); - Py_CLEAR(state->TypeVar_type); - Py_CLEAR(state->UAdd_singleton); - Py_CLEAR(state->UAdd_type); - Py_CLEAR(state->USub_singleton); - Py_CLEAR(state->USub_type); - Py_CLEAR(state->UnaryOp_type); - Py_CLEAR(state->While_type); - Py_CLEAR(state->With_type); - Py_CLEAR(state->YieldFrom_type); - Py_CLEAR(state->Yield_type); - Py_CLEAR(state->__dict__); - Py_CLEAR(state->__doc__); - Py_CLEAR(state->__match_args__); - Py_CLEAR(state->__module__); - Py_CLEAR(state->_attributes); - Py_CLEAR(state->_fields); - Py_CLEAR(state->abstract_types); - Py_CLEAR(state->alias_type); - Py_CLEAR(state->annotation); - Py_CLEAR(state->arg); - Py_CLEAR(state->arg_type); - Py_CLEAR(state->args); - Py_CLEAR(state->argtypes); - Py_CLEAR(state->arguments_type); - Py_CLEAR(state->asname); - Py_CLEAR(state->ast); - Py_CLEAR(state->attr); - Py_CLEAR(state->bases); - Py_CLEAR(state->body); - Py_CLEAR(state->boolop_type); - Py_CLEAR(state->bound); - Py_CLEAR(state->cases); - Py_CLEAR(state->cause); - Py_CLEAR(state->cls); - Py_CLEAR(state->cmpop_type); - Py_CLEAR(state->col_offset); - Py_CLEAR(state->comparators); - Py_CLEAR(state->comprehension_type); - Py_CLEAR(state->context_expr); - Py_CLEAR(state->conversion); - Py_CLEAR(state->ctx); - Py_CLEAR(state->decorator_list); - Py_CLEAR(state->default_value); - Py_CLEAR(state->defaults); - Py_CLEAR(state->elt); - Py_CLEAR(state->elts); - Py_CLEAR(state->end_col_offset); - Py_CLEAR(state->end_lineno); - Py_CLEAR(state->exc); - Py_CLEAR(state->excepthandler_type); - Py_CLEAR(state->expr_context_type); - Py_CLEAR(state->expr_type); - Py_CLEAR(state->finalbody); - Py_CLEAR(state->format_spec); - Py_CLEAR(state->func); - Py_CLEAR(state->generators); - Py_CLEAR(state->guard); - Py_CLEAR(state->handlers); - Py_CLEAR(state->id); - Py_CLEAR(state->ifs); - Py_CLEAR(state->is_async); - Py_CLEAR(state->is_lazy); - Py_CLEAR(state->items); - Py_CLEAR(state->iter); - Py_CLEAR(state->key); - Py_CLEAR(state->keys); - Py_CLEAR(state->keyword_type); - Py_CLEAR(state->keywords); - Py_CLEAR(state->kind); - Py_CLEAR(state->kw_defaults); - Py_CLEAR(state->kwarg); - Py_CLEAR(state->kwd_attrs); - Py_CLEAR(state->kwd_patterns); - Py_CLEAR(state->kwonlyargs); - Py_CLEAR(state->left); - Py_CLEAR(state->level); - Py_CLEAR(state->lineno); - Py_CLEAR(state->lower); - Py_CLEAR(state->match_case_type); - Py_CLEAR(state->mod_type); - Py_CLEAR(state->module); - Py_CLEAR(state->msg); - Py_CLEAR(state->name); - Py_CLEAR(state->names); - Py_CLEAR(state->op); - Py_CLEAR(state->operand); - Py_CLEAR(state->operator_type); - Py_CLEAR(state->ops); - Py_CLEAR(state->optional_vars); - Py_CLEAR(state->orelse); - Py_CLEAR(state->pattern); - Py_CLEAR(state->pattern_type); - Py_CLEAR(state->patterns); - Py_CLEAR(state->posonlyargs); - Py_CLEAR(state->rest); - Py_CLEAR(state->returns); - Py_CLEAR(state->right); - Py_CLEAR(state->simple); - Py_CLEAR(state->slice); - Py_CLEAR(state->step); - Py_CLEAR(state->stmt_type); - Py_CLEAR(state->str); - Py_CLEAR(state->subject); - Py_CLEAR(state->tag); - Py_CLEAR(state->target); - Py_CLEAR(state->targets); - Py_CLEAR(state->test); - Py_CLEAR(state->type); - Py_CLEAR(state->type_comment); - Py_CLEAR(state->type_ignore_type); - Py_CLEAR(state->type_ignores); - Py_CLEAR(state->type_param_type); - Py_CLEAR(state->type_params); - Py_CLEAR(state->unaryop_type); - Py_CLEAR(state->upper); - Py_CLEAR(state->value); - Py_CLEAR(state->values); - Py_CLEAR(state->vararg); - Py_CLEAR(state->withitem_type); - + static const size_t offsets[] = { + offsetof(struct ast_state, AST_type), + offsetof(struct ast_state, Add_singleton), + offsetof(struct ast_state, Add_type), + offsetof(struct ast_state, And_singleton), + offsetof(struct ast_state, And_type), + offsetof(struct ast_state, AnnAssign_type), + offsetof(struct ast_state, Assert_type), + offsetof(struct ast_state, Assign_type), + offsetof(struct ast_state, AsyncFor_type), + offsetof(struct ast_state, AsyncFunctionDef_type), + offsetof(struct ast_state, AsyncWith_type), + offsetof(struct ast_state, Attribute_type), + offsetof(struct ast_state, AugAssign_type), + offsetof(struct ast_state, Await_type), + offsetof(struct ast_state, BinOp_type), + offsetof(struct ast_state, BitAnd_singleton), + offsetof(struct ast_state, BitAnd_type), + offsetof(struct ast_state, BitOr_singleton), + offsetof(struct ast_state, BitOr_type), + offsetof(struct ast_state, BitXor_singleton), + offsetof(struct ast_state, BitXor_type), + offsetof(struct ast_state, BoolOp_type), + offsetof(struct ast_state, Break_type), + offsetof(struct ast_state, Call_type), + offsetof(struct ast_state, ClassDef_type), + offsetof(struct ast_state, Compare_type), + offsetof(struct ast_state, Constant_type), + offsetof(struct ast_state, Continue_type), + offsetof(struct ast_state, Del_singleton), + offsetof(struct ast_state, Del_type), + offsetof(struct ast_state, Delete_type), + offsetof(struct ast_state, DictComp_type), + offsetof(struct ast_state, Dict_type), + offsetof(struct ast_state, Div_singleton), + offsetof(struct ast_state, Div_type), + offsetof(struct ast_state, Eq_singleton), + offsetof(struct ast_state, Eq_type), + offsetof(struct ast_state, ExceptHandler_type), + offsetof(struct ast_state, Expr_type), + offsetof(struct ast_state, Expression_type), + offsetof(struct ast_state, FloorDiv_singleton), + offsetof(struct ast_state, FloorDiv_type), + offsetof(struct ast_state, For_type), + offsetof(struct ast_state, FormattedValue_type), + offsetof(struct ast_state, FunctionDef_type), + offsetof(struct ast_state, FunctionType_type), + offsetof(struct ast_state, GeneratorExp_type), + offsetof(struct ast_state, Global_type), + offsetof(struct ast_state, GtE_singleton), + offsetof(struct ast_state, GtE_type), + offsetof(struct ast_state, Gt_singleton), + offsetof(struct ast_state, Gt_type), + offsetof(struct ast_state, IfExp_type), + offsetof(struct ast_state, If_type), + offsetof(struct ast_state, ImportFrom_type), + offsetof(struct ast_state, Import_type), + offsetof(struct ast_state, In_singleton), + offsetof(struct ast_state, In_type), + offsetof(struct ast_state, Interactive_type), + offsetof(struct ast_state, Interpolation_type), + offsetof(struct ast_state, Invert_singleton), + offsetof(struct ast_state, Invert_type), + offsetof(struct ast_state, IsNot_singleton), + offsetof(struct ast_state, IsNot_type), + offsetof(struct ast_state, Is_singleton), + offsetof(struct ast_state, Is_type), + offsetof(struct ast_state, JoinedStr_type), + offsetof(struct ast_state, LShift_singleton), + offsetof(struct ast_state, LShift_type), + offsetof(struct ast_state, Lambda_type), + offsetof(struct ast_state, ListComp_type), + offsetof(struct ast_state, List_type), + offsetof(struct ast_state, Load_singleton), + offsetof(struct ast_state, Load_type), + offsetof(struct ast_state, LtE_singleton), + offsetof(struct ast_state, LtE_type), + offsetof(struct ast_state, Lt_singleton), + offsetof(struct ast_state, Lt_type), + offsetof(struct ast_state, MatMult_singleton), + offsetof(struct ast_state, MatMult_type), + offsetof(struct ast_state, MatchAs_type), + offsetof(struct ast_state, MatchClass_type), + offsetof(struct ast_state, MatchMapping_type), + offsetof(struct ast_state, MatchOr_type), + offsetof(struct ast_state, MatchSequence_type), + offsetof(struct ast_state, MatchSingleton_type), + offsetof(struct ast_state, MatchStar_type), + offsetof(struct ast_state, MatchValue_type), + offsetof(struct ast_state, Match_type), + offsetof(struct ast_state, Mod_singleton), + offsetof(struct ast_state, Mod_type), + offsetof(struct ast_state, Module_type), + offsetof(struct ast_state, Mult_singleton), + offsetof(struct ast_state, Mult_type), + offsetof(struct ast_state, Name_type), + offsetof(struct ast_state, NamedExpr_type), + offsetof(struct ast_state, Nonlocal_type), + offsetof(struct ast_state, NotEq_singleton), + offsetof(struct ast_state, NotEq_type), + offsetof(struct ast_state, NotIn_singleton), + offsetof(struct ast_state, NotIn_type), + offsetof(struct ast_state, Not_singleton), + offsetof(struct ast_state, Not_type), + offsetof(struct ast_state, Or_singleton), + offsetof(struct ast_state, Or_type), + offsetof(struct ast_state, ParamSpec_type), + offsetof(struct ast_state, Pass_type), + offsetof(struct ast_state, Pow_singleton), + offsetof(struct ast_state, Pow_type), + offsetof(struct ast_state, RShift_singleton), + offsetof(struct ast_state, RShift_type), + offsetof(struct ast_state, Raise_type), + offsetof(struct ast_state, Return_type), + offsetof(struct ast_state, SetComp_type), + offsetof(struct ast_state, Set_type), + offsetof(struct ast_state, Slice_type), + offsetof(struct ast_state, Starred_type), + offsetof(struct ast_state, Store_singleton), + offsetof(struct ast_state, Store_type), + offsetof(struct ast_state, Sub_singleton), + offsetof(struct ast_state, Sub_type), + offsetof(struct ast_state, Subscript_type), + offsetof(struct ast_state, TemplateStr_type), + offsetof(struct ast_state, TryStar_type), + offsetof(struct ast_state, Try_type), + offsetof(struct ast_state, Tuple_type), + offsetof(struct ast_state, TypeAlias_type), + offsetof(struct ast_state, TypeIgnore_type), + offsetof(struct ast_state, TypeVarTuple_type), + offsetof(struct ast_state, TypeVar_type), + offsetof(struct ast_state, UAdd_singleton), + offsetof(struct ast_state, UAdd_type), + offsetof(struct ast_state, USub_singleton), + offsetof(struct ast_state, USub_type), + offsetof(struct ast_state, UnaryOp_type), + offsetof(struct ast_state, While_type), + offsetof(struct ast_state, With_type), + offsetof(struct ast_state, YieldFrom_type), + offsetof(struct ast_state, Yield_type), + offsetof(struct ast_state, __dict__), + offsetof(struct ast_state, __doc__), + offsetof(struct ast_state, __match_args__), + offsetof(struct ast_state, __module__), + offsetof(struct ast_state, _attributes), + offsetof(struct ast_state, _fields), + offsetof(struct ast_state, abstract_types), + offsetof(struct ast_state, alias_type), + offsetof(struct ast_state, annotation), + offsetof(struct ast_state, arg), + offsetof(struct ast_state, arg_type), + offsetof(struct ast_state, args), + offsetof(struct ast_state, argtypes), + offsetof(struct ast_state, arguments_type), + offsetof(struct ast_state, asname), + offsetof(struct ast_state, ast), + offsetof(struct ast_state, attr), + offsetof(struct ast_state, bases), + offsetof(struct ast_state, body), + offsetof(struct ast_state, boolop_type), + offsetof(struct ast_state, bound), + offsetof(struct ast_state, cases), + offsetof(struct ast_state, cause), + offsetof(struct ast_state, cls), + offsetof(struct ast_state, cmpop_type), + offsetof(struct ast_state, col_offset), + offsetof(struct ast_state, comparators), + offsetof(struct ast_state, comprehension_type), + offsetof(struct ast_state, context_expr), + offsetof(struct ast_state, conversion), + offsetof(struct ast_state, ctx), + offsetof(struct ast_state, decorator_list), + offsetof(struct ast_state, default_value), + offsetof(struct ast_state, defaults), + offsetof(struct ast_state, elt), + offsetof(struct ast_state, elts), + offsetof(struct ast_state, end_col_offset), + offsetof(struct ast_state, end_lineno), + offsetof(struct ast_state, exc), + offsetof(struct ast_state, excepthandler_type), + offsetof(struct ast_state, expr_context_type), + offsetof(struct ast_state, expr_type), + offsetof(struct ast_state, finalbody), + offsetof(struct ast_state, format_spec), + offsetof(struct ast_state, func), + offsetof(struct ast_state, generators), + offsetof(struct ast_state, guard), + offsetof(struct ast_state, handlers), + offsetof(struct ast_state, id), + offsetof(struct ast_state, ifs), + offsetof(struct ast_state, is_async), + offsetof(struct ast_state, is_lazy), + offsetof(struct ast_state, items), + offsetof(struct ast_state, iter), + offsetof(struct ast_state, key), + offsetof(struct ast_state, keys), + offsetof(struct ast_state, keyword_type), + offsetof(struct ast_state, keywords), + offsetof(struct ast_state, kind), + offsetof(struct ast_state, kw_defaults), + offsetof(struct ast_state, kwarg), + offsetof(struct ast_state, kwd_attrs), + offsetof(struct ast_state, kwd_patterns), + offsetof(struct ast_state, kwonlyargs), + offsetof(struct ast_state, left), + offsetof(struct ast_state, level), + offsetof(struct ast_state, lineno), + offsetof(struct ast_state, lower), + offsetof(struct ast_state, match_case_type), + offsetof(struct ast_state, mod_type), + offsetof(struct ast_state, module), + offsetof(struct ast_state, msg), + offsetof(struct ast_state, name), + offsetof(struct ast_state, names), + offsetof(struct ast_state, op), + offsetof(struct ast_state, operand), + offsetof(struct ast_state, operator_type), + offsetof(struct ast_state, ops), + offsetof(struct ast_state, optional_vars), + offsetof(struct ast_state, orelse), + offsetof(struct ast_state, pattern), + offsetof(struct ast_state, pattern_type), + offsetof(struct ast_state, patterns), + offsetof(struct ast_state, posonlyargs), + offsetof(struct ast_state, rest), + offsetof(struct ast_state, returns), + offsetof(struct ast_state, right), + offsetof(struct ast_state, simple), + offsetof(struct ast_state, slice), + offsetof(struct ast_state, step), + offsetof(struct ast_state, stmt_type), + offsetof(struct ast_state, str), + offsetof(struct ast_state, subject), + offsetof(struct ast_state, tag), + offsetof(struct ast_state, target), + offsetof(struct ast_state, targets), + offsetof(struct ast_state, test), + offsetof(struct ast_state, type), + offsetof(struct ast_state, type_comment), + offsetof(struct ast_state, type_ignore_type), + offsetof(struct ast_state, type_ignores), + offsetof(struct ast_state, type_param_type), + offsetof(struct ast_state, type_params), + offsetof(struct ast_state, unaryop_type), + offsetof(struct ast_state, upper), + offsetof(struct ast_state, value), + offsetof(struct ast_state, values), + offsetof(struct ast_state, vararg), + offsetof(struct ast_state, withitem_type), + }; + + for (size_t i = 0; i < Py_ARRAY_LENGTH(offsets); i++) { + PyObject **field = (PyObject **)((char *)state + offsets[i]); + Py_CLEAR(*field); + } state->finalized = 1; state->once = (_PyOnceFlag){0}; } @@ -821,4343 +827,588 @@ static const char * const TypeVarTuple_fields[]={ static int add_ast_annotations(struct ast_state *state) { - bool cond; - PyObject *Module_annotations = PyDict_New(); - if (!Module_annotations) return 0; - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Module_annotations); - return 0; - } - cond = PyDict_SetItemString(Module_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Module_annotations); - return 0; - } - } - { - PyObject *type = state->type_ignore_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Module_annotations); - return 0; - } - cond = PyDict_SetItemString(Module_annotations, "type_ignores", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Module_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Module_type, "_field_types", - Module_annotations) == 0; - if (!cond) { - Py_DECREF(Module_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Module_type, "__annotations__", - Module_annotations) == 0; - if (!cond) { - Py_DECREF(Module_annotations); - return 0; - } - Py_DECREF(Module_annotations); - PyObject *Interactive_annotations = PyDict_New(); - if (!Interactive_annotations) return 0; - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Interactive_annotations); - return 0; - } - cond = PyDict_SetItemString(Interactive_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Interactive_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Interactive_type, "_field_types", - Interactive_annotations) == 0; - if (!cond) { - Py_DECREF(Interactive_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Interactive_type, "__annotations__", - Interactive_annotations) == 0; - if (!cond) { - Py_DECREF(Interactive_annotations); - return 0; - } - Py_DECREF(Interactive_annotations); - PyObject *Expression_annotations = PyDict_New(); - if (!Expression_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Expression_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Expression_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Expression_type, "_field_types", - Expression_annotations) == 0; - if (!cond) { - Py_DECREF(Expression_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Expression_type, "__annotations__", - Expression_annotations) == 0; - if (!cond) { - Py_DECREF(Expression_annotations); - return 0; - } - Py_DECREF(Expression_annotations); - PyObject *FunctionType_annotations = PyDict_New(); - if (!FunctionType_annotations) return 0; - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(FunctionType_annotations); - return 0; - } - cond = PyDict_SetItemString(FunctionType_annotations, "argtypes", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FunctionType_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(FunctionType_annotations, "returns", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FunctionType_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->FunctionType_type, "_field_types", - FunctionType_annotations) == 0; - if (!cond) { - Py_DECREF(FunctionType_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->FunctionType_type, "__annotations__", - FunctionType_annotations) == 0; - if (!cond) { - Py_DECREF(FunctionType_annotations); - return 0; - } - Py_DECREF(FunctionType_annotations); - PyObject *FunctionDef_annotations = PyDict_New(); - if (!FunctionDef_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(FunctionDef_annotations, "name", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - } - { - PyObject *type = state->arguments_type; - Py_INCREF(type); - cond = PyDict_SetItemString(FunctionDef_annotations, "args", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - cond = PyDict_SetItemString(FunctionDef_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - cond = PyDict_SetItemString(FunctionDef_annotations, "decorator_list", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - cond = PyDict_SetItemString(FunctionDef_annotations, "returns", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - cond = PyDict_SetItemString(FunctionDef_annotations, "type_comment", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - } - { - PyObject *type = state->type_param_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - cond = PyDict_SetItemString(FunctionDef_annotations, "type_params", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->FunctionDef_type, "_field_types", - FunctionDef_annotations) == 0; - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->FunctionDef_type, "__annotations__", - FunctionDef_annotations) == 0; - if (!cond) { - Py_DECREF(FunctionDef_annotations); - return 0; - } - Py_DECREF(FunctionDef_annotations); - PyObject *AsyncFunctionDef_annotations = PyDict_New(); - if (!AsyncFunctionDef_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(AsyncFunctionDef_annotations, "name", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - } - { - PyObject *type = state->arguments_type; - Py_INCREF(type); - cond = PyDict_SetItemString(AsyncFunctionDef_annotations, "args", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncFunctionDef_annotations, "body", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncFunctionDef_annotations, - "decorator_list", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncFunctionDef_annotations, "returns", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncFunctionDef_annotations, - "type_comment", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - } - { - PyObject *type = state->type_param_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncFunctionDef_annotations, - "type_params", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->AsyncFunctionDef_type, "_field_types", - AsyncFunctionDef_annotations) == 0; - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->AsyncFunctionDef_type, - "__annotations__", - AsyncFunctionDef_annotations) == 0; - if (!cond) { - Py_DECREF(AsyncFunctionDef_annotations); - return 0; - } - Py_DECREF(AsyncFunctionDef_annotations); - PyObject *ClassDef_annotations = PyDict_New(); - if (!ClassDef_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(ClassDef_annotations, "name", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - cond = PyDict_SetItemString(ClassDef_annotations, "bases", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - } - { - PyObject *type = state->keyword_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - cond = PyDict_SetItemString(ClassDef_annotations, "keywords", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - cond = PyDict_SetItemString(ClassDef_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - cond = PyDict_SetItemString(ClassDef_annotations, "decorator_list", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - } - { - PyObject *type = state->type_param_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - cond = PyDict_SetItemString(ClassDef_annotations, "type_params", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->ClassDef_type, "_field_types", - ClassDef_annotations) == 0; - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->ClassDef_type, "__annotations__", - ClassDef_annotations) == 0; - if (!cond) { - Py_DECREF(ClassDef_annotations); - return 0; - } - Py_DECREF(ClassDef_annotations); - PyObject *Return_annotations = PyDict_New(); - if (!Return_annotations) return 0; - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Return_annotations); - return 0; - } - cond = PyDict_SetItemString(Return_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Return_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Return_type, "_field_types", - Return_annotations) == 0; - if (!cond) { - Py_DECREF(Return_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Return_type, "__annotations__", - Return_annotations) == 0; - if (!cond) { - Py_DECREF(Return_annotations); - return 0; - } - Py_DECREF(Return_annotations); - PyObject *Delete_annotations = PyDict_New(); - if (!Delete_annotations) return 0; - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Delete_annotations); - return 0; - } - cond = PyDict_SetItemString(Delete_annotations, "targets", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Delete_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Delete_type, "_field_types", - Delete_annotations) == 0; - if (!cond) { - Py_DECREF(Delete_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Delete_type, "__annotations__", - Delete_annotations) == 0; - if (!cond) { - Py_DECREF(Delete_annotations); - return 0; - } - Py_DECREF(Delete_annotations); - PyObject *Assign_annotations = PyDict_New(); - if (!Assign_annotations) return 0; - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Assign_annotations); - return 0; - } - cond = PyDict_SetItemString(Assign_annotations, "targets", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Assign_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Assign_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Assign_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Assign_annotations); - return 0; - } - cond = PyDict_SetItemString(Assign_annotations, "type_comment", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Assign_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Assign_type, "_field_types", - Assign_annotations) == 0; - if (!cond) { - Py_DECREF(Assign_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Assign_type, "__annotations__", - Assign_annotations) == 0; - if (!cond) { - Py_DECREF(Assign_annotations); - return 0; - } - Py_DECREF(Assign_annotations); - PyObject *TypeAlias_annotations = PyDict_New(); - if (!TypeAlias_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(TypeAlias_annotations, "name", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TypeAlias_annotations); - return 0; - } - } - { - PyObject *type = state->type_param_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(TypeAlias_annotations); - return 0; - } - cond = PyDict_SetItemString(TypeAlias_annotations, "type_params", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TypeAlias_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(TypeAlias_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TypeAlias_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->TypeAlias_type, "_field_types", - TypeAlias_annotations) == 0; - if (!cond) { - Py_DECREF(TypeAlias_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->TypeAlias_type, "__annotations__", - TypeAlias_annotations) == 0; - if (!cond) { - Py_DECREF(TypeAlias_annotations); - return 0; - } - Py_DECREF(TypeAlias_annotations); - PyObject *AugAssign_annotations = PyDict_New(); - if (!AugAssign_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(AugAssign_annotations, "target", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AugAssign_annotations); - return 0; - } - } - { - PyObject *type = state->operator_type; - Py_INCREF(type); - cond = PyDict_SetItemString(AugAssign_annotations, "op", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AugAssign_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(AugAssign_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AugAssign_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->AugAssign_type, "_field_types", - AugAssign_annotations) == 0; - if (!cond) { - Py_DECREF(AugAssign_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->AugAssign_type, "__annotations__", - AugAssign_annotations) == 0; - if (!cond) { - Py_DECREF(AugAssign_annotations); - return 0; - } - Py_DECREF(AugAssign_annotations); - PyObject *AnnAssign_annotations = PyDict_New(); - if (!AnnAssign_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(AnnAssign_annotations, "target", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AnnAssign_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(AnnAssign_annotations, "annotation", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AnnAssign_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(AnnAssign_annotations); - return 0; - } - cond = PyDict_SetItemString(AnnAssign_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AnnAssign_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyLong_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(AnnAssign_annotations, "simple", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AnnAssign_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->AnnAssign_type, "_field_types", - AnnAssign_annotations) == 0; - if (!cond) { - Py_DECREF(AnnAssign_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->AnnAssign_type, "__annotations__", - AnnAssign_annotations) == 0; - if (!cond) { - Py_DECREF(AnnAssign_annotations); - return 0; - } - Py_DECREF(AnnAssign_annotations); - PyObject *For_annotations = PyDict_New(); - if (!For_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(For_annotations, "target", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(For_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(For_annotations, "iter", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(For_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(For_annotations); - return 0; - } - cond = PyDict_SetItemString(For_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(For_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(For_annotations); - return 0; - } - cond = PyDict_SetItemString(For_annotations, "orelse", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(For_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(For_annotations); - return 0; - } - cond = PyDict_SetItemString(For_annotations, "type_comment", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(For_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->For_type, "_field_types", - For_annotations) == 0; - if (!cond) { - Py_DECREF(For_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->For_type, "__annotations__", - For_annotations) == 0; - if (!cond) { - Py_DECREF(For_annotations); - return 0; - } - Py_DECREF(For_annotations); - PyObject *AsyncFor_annotations = PyDict_New(); - if (!AsyncFor_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(AsyncFor_annotations, "target", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFor_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(AsyncFor_annotations, "iter", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFor_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncFor_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncFor_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFor_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncFor_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncFor_annotations, "orelse", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFor_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncFor_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncFor_annotations, "type_comment", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncFor_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->AsyncFor_type, "_field_types", - AsyncFor_annotations) == 0; - if (!cond) { - Py_DECREF(AsyncFor_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->AsyncFor_type, "__annotations__", - AsyncFor_annotations) == 0; - if (!cond) { - Py_DECREF(AsyncFor_annotations); - return 0; - } - Py_DECREF(AsyncFor_annotations); - PyObject *While_annotations = PyDict_New(); - if (!While_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(While_annotations, "test", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(While_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(While_annotations); - return 0; - } - cond = PyDict_SetItemString(While_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(While_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(While_annotations); - return 0; - } - cond = PyDict_SetItemString(While_annotations, "orelse", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(While_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->While_type, "_field_types", - While_annotations) == 0; - if (!cond) { - Py_DECREF(While_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->While_type, "__annotations__", - While_annotations) == 0; - if (!cond) { - Py_DECREF(While_annotations); - return 0; - } - Py_DECREF(While_annotations); - PyObject *If_annotations = PyDict_New(); - if (!If_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(If_annotations, "test", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(If_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(If_annotations); - return 0; - } - cond = PyDict_SetItemString(If_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(If_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(If_annotations); - return 0; - } - cond = PyDict_SetItemString(If_annotations, "orelse", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(If_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->If_type, "_field_types", - If_annotations) == 0; - if (!cond) { - Py_DECREF(If_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->If_type, "__annotations__", - If_annotations) == 0; - if (!cond) { - Py_DECREF(If_annotations); - return 0; - } - Py_DECREF(If_annotations); - PyObject *With_annotations = PyDict_New(); - if (!With_annotations) return 0; - { - PyObject *type = state->withitem_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(With_annotations); - return 0; - } - cond = PyDict_SetItemString(With_annotations, "items", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(With_annotations); - return 0; + enum { + FIELD_OPTIONAL = 1, + FIELD_SEQUENCE = 2, + FIELD_BUILTIN = 4, + }; + static PyTypeObject *const builtin_types[] = { + &PyUnicode_Type, + &PyLong_Type, + &PyBaseObject_Type, + +}; +// Offsets refer to this interpreter's AST state, not global types. +static const struct { + size_t name_offset; + size_t type_offset; // An index into builtin_types for builtins. + unsigned int flags; +} fields[] = { + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, type_ignores), + offsetof(struct ast_state, type_ignore_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, argtypes), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, returns), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, name), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, args), + offsetof(struct ast_state, arguments_type), 0}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, decorator_list), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, returns), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, type_comment), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, type_params), + offsetof(struct ast_state, type_param_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, name), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, args), + offsetof(struct ast_state, arguments_type), 0}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, decorator_list), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, returns), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, type_comment), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, type_params), + offsetof(struct ast_state, type_param_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, name), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, bases), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, keywords), + offsetof(struct ast_state, keyword_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, decorator_list), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, type_params), + offsetof(struct ast_state, type_param_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, targets), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, targets), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, type_comment), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, name), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, type_params), + offsetof(struct ast_state, type_param_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, target), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, op), + offsetof(struct ast_state, operator_type), 0}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, target), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, annotation), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, simple), + 1, FIELD_BUILTIN}, + {offsetof(struct ast_state, target), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, iter), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, orelse), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, type_comment), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, target), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, iter), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, orelse), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, type_comment), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, test), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, orelse), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, test), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, orelse), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, items), + offsetof(struct ast_state, withitem_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, type_comment), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, items), + offsetof(struct ast_state, withitem_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, type_comment), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, subject), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, cases), + offsetof(struct ast_state, match_case_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, exc), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, cause), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, handlers), + offsetof(struct ast_state, excepthandler_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, orelse), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, finalbody), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, handlers), + offsetof(struct ast_state, excepthandler_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, orelse), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, finalbody), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, test), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, msg), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, names), + offsetof(struct ast_state, alias_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, is_lazy), + 1, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, module), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, names), + offsetof(struct ast_state, alias_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, level), + 1, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, is_lazy), + 1, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, names), + 0, FIELD_SEQUENCE | FIELD_BUILTIN}, + {offsetof(struct ast_state, names), + 0, FIELD_SEQUENCE | FIELD_BUILTIN}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, op), + offsetof(struct ast_state, boolop_type), 0}, + {offsetof(struct ast_state, values), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, target), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, left), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, op), + offsetof(struct ast_state, operator_type), 0}, + {offsetof(struct ast_state, right), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, op), + offsetof(struct ast_state, unaryop_type), 0}, + {offsetof(struct ast_state, operand), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, args), + offsetof(struct ast_state, arguments_type), 0}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, test), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, orelse), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, keys), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, values), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, elts), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, elt), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, generators), + offsetof(struct ast_state, comprehension_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, elt), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, generators), + offsetof(struct ast_state, comprehension_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, key), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, generators), + offsetof(struct ast_state, comprehension_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, elt), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, generators), + offsetof(struct ast_state, comprehension_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, left), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, ops), + offsetof(struct ast_state, cmpop_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, comparators), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, func), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, args), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, keywords), + offsetof(struct ast_state, keyword_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, conversion), + 1, FIELD_BUILTIN}, + {offsetof(struct ast_state, format_spec), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, str), + 2, FIELD_BUILTIN}, + {offsetof(struct ast_state, conversion), + 1, FIELD_BUILTIN}, + {offsetof(struct ast_state, format_spec), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, values), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, values), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, value), + 2, FIELD_BUILTIN}, + {offsetof(struct ast_state, kind), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, attr), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, ctx), + offsetof(struct ast_state, expr_context_type), 0}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, slice), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, ctx), + offsetof(struct ast_state, expr_context_type), 0}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, ctx), + offsetof(struct ast_state, expr_context_type), 0}, + {offsetof(struct ast_state, id), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, ctx), + offsetof(struct ast_state, expr_context_type), 0}, + {offsetof(struct ast_state, elts), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, ctx), + offsetof(struct ast_state, expr_context_type), 0}, + {offsetof(struct ast_state, elts), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, ctx), + offsetof(struct ast_state, expr_context_type), 0}, + {offsetof(struct ast_state, lower), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, upper), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, step), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, target), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, iter), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, ifs), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, is_async), + 1, FIELD_BUILTIN}, + {offsetof(struct ast_state, type), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, name), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, posonlyargs), + offsetof(struct ast_state, arg_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, args), + offsetof(struct ast_state, arg_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, vararg), + offsetof(struct ast_state, arg_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, kwonlyargs), + offsetof(struct ast_state, arg_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, kw_defaults), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, kwarg), + offsetof(struct ast_state, arg_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, defaults), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, arg), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, annotation), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, type_comment), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, arg), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, name), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, asname), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, context_expr), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, optional_vars), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, pattern), + offsetof(struct ast_state, pattern_type), 0}, + {offsetof(struct ast_state, guard), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, body), + offsetof(struct ast_state, stmt_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, value), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, value), + 2, FIELD_BUILTIN}, + {offsetof(struct ast_state, patterns), + offsetof(struct ast_state, pattern_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, keys), + offsetof(struct ast_state, expr_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, patterns), + offsetof(struct ast_state, pattern_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, rest), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, cls), + offsetof(struct ast_state, expr_type), 0}, + {offsetof(struct ast_state, patterns), + offsetof(struct ast_state, pattern_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, kwd_attrs), + 0, FIELD_SEQUENCE | FIELD_BUILTIN}, + {offsetof(struct ast_state, kwd_patterns), + offsetof(struct ast_state, pattern_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, name), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, pattern), + offsetof(struct ast_state, pattern_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, name), + 0, FIELD_OPTIONAL | FIELD_BUILTIN}, + {offsetof(struct ast_state, patterns), + offsetof(struct ast_state, pattern_type), FIELD_SEQUENCE}, + {offsetof(struct ast_state, lineno), + 1, FIELD_BUILTIN}, + {offsetof(struct ast_state, tag), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, name), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, bound), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, default_value), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, name), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, default_value), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + {offsetof(struct ast_state, name), + 0, FIELD_BUILTIN}, + {offsetof(struct ast_state, default_value), + offsetof(struct ast_state, expr_type), FIELD_OPTIONAL}, + +}; +static const struct { + size_t type_offset; + size_t first_field; + size_t nfields; +} nodes[] = { + {offsetof(struct ast_state, Module_type), 0, 2}, + {offsetof(struct ast_state, Interactive_type), 2, 1}, + {offsetof(struct ast_state, Expression_type), 3, 1}, + {offsetof(struct ast_state, FunctionType_type), 4, 2}, + {offsetof(struct ast_state, FunctionDef_type), 6, 7}, + {offsetof(struct ast_state, AsyncFunctionDef_type), 13, 7}, + {offsetof(struct ast_state, ClassDef_type), 20, 6}, + {offsetof(struct ast_state, Return_type), 26, 1}, + {offsetof(struct ast_state, Delete_type), 27, 1}, + {offsetof(struct ast_state, Assign_type), 28, 3}, + {offsetof(struct ast_state, TypeAlias_type), 31, 3}, + {offsetof(struct ast_state, AugAssign_type), 34, 3}, + {offsetof(struct ast_state, AnnAssign_type), 37, 4}, + {offsetof(struct ast_state, For_type), 41, 5}, + {offsetof(struct ast_state, AsyncFor_type), 46, 5}, + {offsetof(struct ast_state, While_type), 51, 3}, + {offsetof(struct ast_state, If_type), 54, 3}, + {offsetof(struct ast_state, With_type), 57, 3}, + {offsetof(struct ast_state, AsyncWith_type), 60, 3}, + {offsetof(struct ast_state, Match_type), 63, 2}, + {offsetof(struct ast_state, Raise_type), 65, 2}, + {offsetof(struct ast_state, Try_type), 67, 4}, + {offsetof(struct ast_state, TryStar_type), 71, 4}, + {offsetof(struct ast_state, Assert_type), 75, 2}, + {offsetof(struct ast_state, Import_type), 77, 2}, + {offsetof(struct ast_state, ImportFrom_type), 79, 4}, + {offsetof(struct ast_state, Global_type), 83, 1}, + {offsetof(struct ast_state, Nonlocal_type), 84, 1}, + {offsetof(struct ast_state, Expr_type), 85, 1}, + {offsetof(struct ast_state, Pass_type), 86, 0}, + {offsetof(struct ast_state, Break_type), 86, 0}, + {offsetof(struct ast_state, Continue_type), 86, 0}, + {offsetof(struct ast_state, BoolOp_type), 86, 2}, + {offsetof(struct ast_state, NamedExpr_type), 88, 2}, + {offsetof(struct ast_state, BinOp_type), 90, 3}, + {offsetof(struct ast_state, UnaryOp_type), 93, 2}, + {offsetof(struct ast_state, Lambda_type), 95, 2}, + {offsetof(struct ast_state, IfExp_type), 97, 3}, + {offsetof(struct ast_state, Dict_type), 100, 2}, + {offsetof(struct ast_state, Set_type), 102, 1}, + {offsetof(struct ast_state, ListComp_type), 103, 2}, + {offsetof(struct ast_state, SetComp_type), 105, 2}, + {offsetof(struct ast_state, DictComp_type), 107, 3}, + {offsetof(struct ast_state, GeneratorExp_type), 110, 2}, + {offsetof(struct ast_state, Await_type), 112, 1}, + {offsetof(struct ast_state, Yield_type), 113, 1}, + {offsetof(struct ast_state, YieldFrom_type), 114, 1}, + {offsetof(struct ast_state, Compare_type), 115, 3}, + {offsetof(struct ast_state, Call_type), 118, 3}, + {offsetof(struct ast_state, FormattedValue_type), 121, 3}, + {offsetof(struct ast_state, Interpolation_type), 124, 4}, + {offsetof(struct ast_state, JoinedStr_type), 128, 1}, + {offsetof(struct ast_state, TemplateStr_type), 129, 1}, + {offsetof(struct ast_state, Constant_type), 130, 2}, + {offsetof(struct ast_state, Attribute_type), 132, 3}, + {offsetof(struct ast_state, Subscript_type), 135, 3}, + {offsetof(struct ast_state, Starred_type), 138, 2}, + {offsetof(struct ast_state, Name_type), 140, 2}, + {offsetof(struct ast_state, List_type), 142, 2}, + {offsetof(struct ast_state, Tuple_type), 144, 2}, + {offsetof(struct ast_state, Slice_type), 146, 3}, + {offsetof(struct ast_state, Load_type), 149, 0}, + {offsetof(struct ast_state, Store_type), 149, 0}, + {offsetof(struct ast_state, Del_type), 149, 0}, + {offsetof(struct ast_state, And_type), 149, 0}, + {offsetof(struct ast_state, Or_type), 149, 0}, + {offsetof(struct ast_state, Add_type), 149, 0}, + {offsetof(struct ast_state, Sub_type), 149, 0}, + {offsetof(struct ast_state, Mult_type), 149, 0}, + {offsetof(struct ast_state, MatMult_type), 149, 0}, + {offsetof(struct ast_state, Div_type), 149, 0}, + {offsetof(struct ast_state, Mod_type), 149, 0}, + {offsetof(struct ast_state, Pow_type), 149, 0}, + {offsetof(struct ast_state, LShift_type), 149, 0}, + {offsetof(struct ast_state, RShift_type), 149, 0}, + {offsetof(struct ast_state, BitOr_type), 149, 0}, + {offsetof(struct ast_state, BitXor_type), 149, 0}, + {offsetof(struct ast_state, BitAnd_type), 149, 0}, + {offsetof(struct ast_state, FloorDiv_type), 149, 0}, + {offsetof(struct ast_state, Invert_type), 149, 0}, + {offsetof(struct ast_state, Not_type), 149, 0}, + {offsetof(struct ast_state, UAdd_type), 149, 0}, + {offsetof(struct ast_state, USub_type), 149, 0}, + {offsetof(struct ast_state, Eq_type), 149, 0}, + {offsetof(struct ast_state, NotEq_type), 149, 0}, + {offsetof(struct ast_state, Lt_type), 149, 0}, + {offsetof(struct ast_state, LtE_type), 149, 0}, + {offsetof(struct ast_state, Gt_type), 149, 0}, + {offsetof(struct ast_state, GtE_type), 149, 0}, + {offsetof(struct ast_state, Is_type), 149, 0}, + {offsetof(struct ast_state, IsNot_type), 149, 0}, + {offsetof(struct ast_state, In_type), 149, 0}, + {offsetof(struct ast_state, NotIn_type), 149, 0}, + {offsetof(struct ast_state, comprehension_type), 149, 4}, + {offsetof(struct ast_state, ExceptHandler_type), 153, 3}, + {offsetof(struct ast_state, arguments_type), 156, 7}, + {offsetof(struct ast_state, arg_type), 163, 3}, + {offsetof(struct ast_state, keyword_type), 166, 2}, + {offsetof(struct ast_state, alias_type), 168, 2}, + {offsetof(struct ast_state, withitem_type), 170, 2}, + {offsetof(struct ast_state, match_case_type), 172, 3}, + {offsetof(struct ast_state, MatchValue_type), 175, 1}, + {offsetof(struct ast_state, MatchSingleton_type), 176, 1}, + {offsetof(struct ast_state, MatchSequence_type), 177, 1}, + {offsetof(struct ast_state, MatchMapping_type), 178, 3}, + {offsetof(struct ast_state, MatchClass_type), 181, 4}, + {offsetof(struct ast_state, MatchStar_type), 185, 1}, + {offsetof(struct ast_state, MatchAs_type), 186, 2}, + {offsetof(struct ast_state, MatchOr_type), 188, 1}, + {offsetof(struct ast_state, TypeIgnore_type), 189, 2}, + {offsetof(struct ast_state, TypeVar_type), 191, 3}, + {offsetof(struct ast_state, ParamSpec_type), 194, 2}, + {offsetof(struct ast_state, TypeVarTuple_type), 196, 2}, + + }; + char *base = (char *)state; + PyObject *annotations = NULL; + for (size_t i = 0; i < Py_ARRAY_LENGTH(nodes); i++) { + annotations = PyDict_New(); + if (annotations == NULL) { + goto error; } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(With_annotations); - return 0; + size_t end = nodes[i].first_field + nodes[i].nfields; + for (size_t j = nodes[i].first_field; j < end; j++) { + PyObject *name = *(PyObject **)(base + fields[j].name_offset); + PyObject *type; + if (fields[j].flags & FIELD_BUILTIN) { + type = (PyObject *)builtin_types[fields[j].type_offset]; + } + else { + type = *(PyObject **)(base + fields[j].type_offset); + } + if (fields[j].flags & FIELD_OPTIONAL) { + type = _Py_union_type_or(type, Py_None); + } + else if (fields[j].flags & FIELD_SEQUENCE) { + type = Py_GenericAlias((PyObject *)&PyList_Type, type); + } + else { + Py_INCREF(type); + } + if (type == NULL) { + goto error; + } + int res = PyDict_SetItem(annotations, name, type); + Py_DECREF(type); + if (res < 0) { + goto error; + } } - cond = PyDict_SetItemString(With_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(With_annotations); - return 0; + PyObject *node = *(PyObject **)(base + nodes[i].type_offset); + if (PyObject_SetAttrString(node, "_field_types", annotations) < 0 || + PyObject_SetAttrString(node, "__annotations__", annotations) < 0) + { + goto error; } + Py_CLEAR(annotations); } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(With_annotations); - return 0; - } - cond = PyDict_SetItemString(With_annotations, "type_comment", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(With_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->With_type, "_field_types", - With_annotations) == 0; - if (!cond) { - Py_DECREF(With_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->With_type, "__annotations__", - With_annotations) == 0; - if (!cond) { - Py_DECREF(With_annotations); - return 0; - } - Py_DECREF(With_annotations); - PyObject *AsyncWith_annotations = PyDict_New(); - if (!AsyncWith_annotations) return 0; - { - PyObject *type = state->withitem_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncWith_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncWith_annotations, "items", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncWith_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncWith_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncWith_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncWith_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(AsyncWith_annotations); - return 0; - } - cond = PyDict_SetItemString(AsyncWith_annotations, "type_comment", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(AsyncWith_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->AsyncWith_type, "_field_types", - AsyncWith_annotations) == 0; - if (!cond) { - Py_DECREF(AsyncWith_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->AsyncWith_type, "__annotations__", - AsyncWith_annotations) == 0; - if (!cond) { - Py_DECREF(AsyncWith_annotations); - return 0; - } - Py_DECREF(AsyncWith_annotations); - PyObject *Match_annotations = PyDict_New(); - if (!Match_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Match_annotations, "subject", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Match_annotations); - return 0; - } - } - { - PyObject *type = state->match_case_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Match_annotations); - return 0; - } - cond = PyDict_SetItemString(Match_annotations, "cases", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Match_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Match_type, "_field_types", - Match_annotations) == 0; - if (!cond) { - Py_DECREF(Match_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Match_type, "__annotations__", - Match_annotations) == 0; - if (!cond) { - Py_DECREF(Match_annotations); - return 0; - } - Py_DECREF(Match_annotations); - PyObject *Raise_annotations = PyDict_New(); - if (!Raise_annotations) return 0; - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Raise_annotations); - return 0; - } - cond = PyDict_SetItemString(Raise_annotations, "exc", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Raise_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Raise_annotations); - return 0; - } - cond = PyDict_SetItemString(Raise_annotations, "cause", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Raise_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Raise_type, "_field_types", - Raise_annotations) == 0; - if (!cond) { - Py_DECREF(Raise_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Raise_type, "__annotations__", - Raise_annotations) == 0; - if (!cond) { - Py_DECREF(Raise_annotations); - return 0; - } - Py_DECREF(Raise_annotations); - PyObject *Try_annotations = PyDict_New(); - if (!Try_annotations) return 0; - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Try_annotations); - return 0; - } - cond = PyDict_SetItemString(Try_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Try_annotations); - return 0; - } - } - { - PyObject *type = state->excepthandler_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Try_annotations); - return 0; - } - cond = PyDict_SetItemString(Try_annotations, "handlers", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Try_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Try_annotations); - return 0; - } - cond = PyDict_SetItemString(Try_annotations, "orelse", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Try_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Try_annotations); - return 0; - } - cond = PyDict_SetItemString(Try_annotations, "finalbody", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Try_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Try_type, "_field_types", - Try_annotations) == 0; - if (!cond) { - Py_DECREF(Try_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Try_type, "__annotations__", - Try_annotations) == 0; - if (!cond) { - Py_DECREF(Try_annotations); - return 0; - } - Py_DECREF(Try_annotations); - PyObject *TryStar_annotations = PyDict_New(); - if (!TryStar_annotations) return 0; - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(TryStar_annotations); - return 0; - } - cond = PyDict_SetItemString(TryStar_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TryStar_annotations); - return 0; - } - } - { - PyObject *type = state->excepthandler_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(TryStar_annotations); - return 0; - } - cond = PyDict_SetItemString(TryStar_annotations, "handlers", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TryStar_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(TryStar_annotations); - return 0; - } - cond = PyDict_SetItemString(TryStar_annotations, "orelse", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TryStar_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(TryStar_annotations); - return 0; - } - cond = PyDict_SetItemString(TryStar_annotations, "finalbody", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TryStar_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->TryStar_type, "_field_types", - TryStar_annotations) == 0; - if (!cond) { - Py_DECREF(TryStar_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->TryStar_type, "__annotations__", - TryStar_annotations) == 0; - if (!cond) { - Py_DECREF(TryStar_annotations); - return 0; - } - Py_DECREF(TryStar_annotations); - PyObject *Assert_annotations = PyDict_New(); - if (!Assert_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Assert_annotations, "test", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Assert_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Assert_annotations); - return 0; - } - cond = PyDict_SetItemString(Assert_annotations, "msg", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Assert_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Assert_type, "_field_types", - Assert_annotations) == 0; - if (!cond) { - Py_DECREF(Assert_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Assert_type, "__annotations__", - Assert_annotations) == 0; - if (!cond) { - Py_DECREF(Assert_annotations); - return 0; - } - Py_DECREF(Assert_annotations); - PyObject *Import_annotations = PyDict_New(); - if (!Import_annotations) return 0; - { - PyObject *type = state->alias_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Import_annotations); - return 0; - } - cond = PyDict_SetItemString(Import_annotations, "names", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Import_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyLong_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Import_annotations); - return 0; - } - cond = PyDict_SetItemString(Import_annotations, "is_lazy", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Import_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Import_type, "_field_types", - Import_annotations) == 0; - if (!cond) { - Py_DECREF(Import_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Import_type, "__annotations__", - Import_annotations) == 0; - if (!cond) { - Py_DECREF(Import_annotations); - return 0; - } - Py_DECREF(Import_annotations); - PyObject *ImportFrom_annotations = PyDict_New(); - if (!ImportFrom_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(ImportFrom_annotations); - return 0; - } - cond = PyDict_SetItemString(ImportFrom_annotations, "module", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ImportFrom_annotations); - return 0; - } - } - { - PyObject *type = state->alias_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(ImportFrom_annotations); - return 0; - } - cond = PyDict_SetItemString(ImportFrom_annotations, "names", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ImportFrom_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyLong_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(ImportFrom_annotations); - return 0; - } - cond = PyDict_SetItemString(ImportFrom_annotations, "level", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ImportFrom_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyLong_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(ImportFrom_annotations); - return 0; - } - cond = PyDict_SetItemString(ImportFrom_annotations, "is_lazy", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ImportFrom_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->ImportFrom_type, "_field_types", - ImportFrom_annotations) == 0; - if (!cond) { - Py_DECREF(ImportFrom_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->ImportFrom_type, "__annotations__", - ImportFrom_annotations) == 0; - if (!cond) { - Py_DECREF(ImportFrom_annotations); - return 0; - } - Py_DECREF(ImportFrom_annotations); - PyObject *Global_annotations = PyDict_New(); - if (!Global_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Global_annotations); - return 0; - } - cond = PyDict_SetItemString(Global_annotations, "names", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Global_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Global_type, "_field_types", - Global_annotations) == 0; - if (!cond) { - Py_DECREF(Global_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Global_type, "__annotations__", - Global_annotations) == 0; - if (!cond) { - Py_DECREF(Global_annotations); - return 0; - } - Py_DECREF(Global_annotations); - PyObject *Nonlocal_annotations = PyDict_New(); - if (!Nonlocal_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Nonlocal_annotations); - return 0; - } - cond = PyDict_SetItemString(Nonlocal_annotations, "names", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Nonlocal_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Nonlocal_type, "_field_types", - Nonlocal_annotations) == 0; - if (!cond) { - Py_DECREF(Nonlocal_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Nonlocal_type, "__annotations__", - Nonlocal_annotations) == 0; - if (!cond) { - Py_DECREF(Nonlocal_annotations); - return 0; - } - Py_DECREF(Nonlocal_annotations); - PyObject *Expr_annotations = PyDict_New(); - if (!Expr_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Expr_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Expr_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Expr_type, "_field_types", - Expr_annotations) == 0; - if (!cond) { - Py_DECREF(Expr_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Expr_type, "__annotations__", - Expr_annotations) == 0; - if (!cond) { - Py_DECREF(Expr_annotations); - return 0; - } - Py_DECREF(Expr_annotations); - PyObject *Pass_annotations = PyDict_New(); - if (!Pass_annotations) return 0; - cond = PyObject_SetAttrString(state->Pass_type, "_field_types", - Pass_annotations) == 0; - if (!cond) { - Py_DECREF(Pass_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Pass_type, "__annotations__", - Pass_annotations) == 0; - if (!cond) { - Py_DECREF(Pass_annotations); - return 0; - } - Py_DECREF(Pass_annotations); - PyObject *Break_annotations = PyDict_New(); - if (!Break_annotations) return 0; - cond = PyObject_SetAttrString(state->Break_type, "_field_types", - Break_annotations) == 0; - if (!cond) { - Py_DECREF(Break_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Break_type, "__annotations__", - Break_annotations) == 0; - if (!cond) { - Py_DECREF(Break_annotations); - return 0; - } - Py_DECREF(Break_annotations); - PyObject *Continue_annotations = PyDict_New(); - if (!Continue_annotations) return 0; - cond = PyObject_SetAttrString(state->Continue_type, "_field_types", - Continue_annotations) == 0; - if (!cond) { - Py_DECREF(Continue_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Continue_type, "__annotations__", - Continue_annotations) == 0; - if (!cond) { - Py_DECREF(Continue_annotations); - return 0; - } - Py_DECREF(Continue_annotations); - PyObject *BoolOp_annotations = PyDict_New(); - if (!BoolOp_annotations) return 0; - { - PyObject *type = state->boolop_type; - Py_INCREF(type); - cond = PyDict_SetItemString(BoolOp_annotations, "op", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(BoolOp_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(BoolOp_annotations); - return 0; - } - cond = PyDict_SetItemString(BoolOp_annotations, "values", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(BoolOp_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->BoolOp_type, "_field_types", - BoolOp_annotations) == 0; - if (!cond) { - Py_DECREF(BoolOp_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->BoolOp_type, "__annotations__", - BoolOp_annotations) == 0; - if (!cond) { - Py_DECREF(BoolOp_annotations); - return 0; - } - Py_DECREF(BoolOp_annotations); - PyObject *NamedExpr_annotations = PyDict_New(); - if (!NamedExpr_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(NamedExpr_annotations, "target", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(NamedExpr_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(NamedExpr_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(NamedExpr_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->NamedExpr_type, "_field_types", - NamedExpr_annotations) == 0; - if (!cond) { - Py_DECREF(NamedExpr_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->NamedExpr_type, "__annotations__", - NamedExpr_annotations) == 0; - if (!cond) { - Py_DECREF(NamedExpr_annotations); - return 0; - } - Py_DECREF(NamedExpr_annotations); - PyObject *BinOp_annotations = PyDict_New(); - if (!BinOp_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(BinOp_annotations, "left", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(BinOp_annotations); - return 0; - } - } - { - PyObject *type = state->operator_type; - Py_INCREF(type); - cond = PyDict_SetItemString(BinOp_annotations, "op", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(BinOp_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(BinOp_annotations, "right", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(BinOp_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->BinOp_type, "_field_types", - BinOp_annotations) == 0; - if (!cond) { - Py_DECREF(BinOp_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->BinOp_type, "__annotations__", - BinOp_annotations) == 0; - if (!cond) { - Py_DECREF(BinOp_annotations); - return 0; - } - Py_DECREF(BinOp_annotations); - PyObject *UnaryOp_annotations = PyDict_New(); - if (!UnaryOp_annotations) return 0; - { - PyObject *type = state->unaryop_type; - Py_INCREF(type); - cond = PyDict_SetItemString(UnaryOp_annotations, "op", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(UnaryOp_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(UnaryOp_annotations, "operand", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(UnaryOp_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->UnaryOp_type, "_field_types", - UnaryOp_annotations) == 0; - if (!cond) { - Py_DECREF(UnaryOp_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->UnaryOp_type, "__annotations__", - UnaryOp_annotations) == 0; - if (!cond) { - Py_DECREF(UnaryOp_annotations); - return 0; - } - Py_DECREF(UnaryOp_annotations); - PyObject *Lambda_annotations = PyDict_New(); - if (!Lambda_annotations) return 0; - { - PyObject *type = state->arguments_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Lambda_annotations, "args", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Lambda_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Lambda_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Lambda_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Lambda_type, "_field_types", - Lambda_annotations) == 0; - if (!cond) { - Py_DECREF(Lambda_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Lambda_type, "__annotations__", - Lambda_annotations) == 0; - if (!cond) { - Py_DECREF(Lambda_annotations); - return 0; - } - Py_DECREF(Lambda_annotations); - PyObject *IfExp_annotations = PyDict_New(); - if (!IfExp_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(IfExp_annotations, "test", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(IfExp_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(IfExp_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(IfExp_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(IfExp_annotations, "orelse", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(IfExp_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->IfExp_type, "_field_types", - IfExp_annotations) == 0; - if (!cond) { - Py_DECREF(IfExp_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->IfExp_type, "__annotations__", - IfExp_annotations) == 0; - if (!cond) { - Py_DECREF(IfExp_annotations); - return 0; - } - Py_DECREF(IfExp_annotations); - PyObject *Dict_annotations = PyDict_New(); - if (!Dict_annotations) return 0; - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Dict_annotations); - return 0; - } - cond = PyDict_SetItemString(Dict_annotations, "keys", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Dict_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Dict_annotations); - return 0; - } - cond = PyDict_SetItemString(Dict_annotations, "values", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Dict_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Dict_type, "_field_types", - Dict_annotations) == 0; - if (!cond) { - Py_DECREF(Dict_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Dict_type, "__annotations__", - Dict_annotations) == 0; - if (!cond) { - Py_DECREF(Dict_annotations); - return 0; - } - Py_DECREF(Dict_annotations); - PyObject *Set_annotations = PyDict_New(); - if (!Set_annotations) return 0; - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Set_annotations); - return 0; - } - cond = PyDict_SetItemString(Set_annotations, "elts", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Set_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Set_type, "_field_types", - Set_annotations) == 0; - if (!cond) { - Py_DECREF(Set_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Set_type, "__annotations__", - Set_annotations) == 0; - if (!cond) { - Py_DECREF(Set_annotations); - return 0; - } - Py_DECREF(Set_annotations); - PyObject *ListComp_annotations = PyDict_New(); - if (!ListComp_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(ListComp_annotations, "elt", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ListComp_annotations); - return 0; - } - } - { - PyObject *type = state->comprehension_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(ListComp_annotations); - return 0; - } - cond = PyDict_SetItemString(ListComp_annotations, "generators", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ListComp_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->ListComp_type, "_field_types", - ListComp_annotations) == 0; - if (!cond) { - Py_DECREF(ListComp_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->ListComp_type, "__annotations__", - ListComp_annotations) == 0; - if (!cond) { - Py_DECREF(ListComp_annotations); - return 0; - } - Py_DECREF(ListComp_annotations); - PyObject *SetComp_annotations = PyDict_New(); - if (!SetComp_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(SetComp_annotations, "elt", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(SetComp_annotations); - return 0; - } - } - { - PyObject *type = state->comprehension_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(SetComp_annotations); - return 0; - } - cond = PyDict_SetItemString(SetComp_annotations, "generators", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(SetComp_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->SetComp_type, "_field_types", - SetComp_annotations) == 0; - if (!cond) { - Py_DECREF(SetComp_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->SetComp_type, "__annotations__", - SetComp_annotations) == 0; - if (!cond) { - Py_DECREF(SetComp_annotations); - return 0; - } - Py_DECREF(SetComp_annotations); - PyObject *DictComp_annotations = PyDict_New(); - if (!DictComp_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(DictComp_annotations, "key", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(DictComp_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(DictComp_annotations); - return 0; - } - cond = PyDict_SetItemString(DictComp_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(DictComp_annotations); - return 0; - } - } - { - PyObject *type = state->comprehension_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(DictComp_annotations); - return 0; - } - cond = PyDict_SetItemString(DictComp_annotations, "generators", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(DictComp_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->DictComp_type, "_field_types", - DictComp_annotations) == 0; - if (!cond) { - Py_DECREF(DictComp_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->DictComp_type, "__annotations__", - DictComp_annotations) == 0; - if (!cond) { - Py_DECREF(DictComp_annotations); - return 0; - } - Py_DECREF(DictComp_annotations); - PyObject *GeneratorExp_annotations = PyDict_New(); - if (!GeneratorExp_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(GeneratorExp_annotations, "elt", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(GeneratorExp_annotations); - return 0; - } - } - { - PyObject *type = state->comprehension_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(GeneratorExp_annotations); - return 0; - } - cond = PyDict_SetItemString(GeneratorExp_annotations, "generators", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(GeneratorExp_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->GeneratorExp_type, "_field_types", - GeneratorExp_annotations) == 0; - if (!cond) { - Py_DECREF(GeneratorExp_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->GeneratorExp_type, "__annotations__", - GeneratorExp_annotations) == 0; - if (!cond) { - Py_DECREF(GeneratorExp_annotations); - return 0; - } - Py_DECREF(GeneratorExp_annotations); - PyObject *Await_annotations = PyDict_New(); - if (!Await_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Await_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Await_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Await_type, "_field_types", - Await_annotations) == 0; - if (!cond) { - Py_DECREF(Await_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Await_type, "__annotations__", - Await_annotations) == 0; - if (!cond) { - Py_DECREF(Await_annotations); - return 0; - } - Py_DECREF(Await_annotations); - PyObject *Yield_annotations = PyDict_New(); - if (!Yield_annotations) return 0; - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Yield_annotations); - return 0; - } - cond = PyDict_SetItemString(Yield_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Yield_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Yield_type, "_field_types", - Yield_annotations) == 0; - if (!cond) { - Py_DECREF(Yield_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Yield_type, "__annotations__", - Yield_annotations) == 0; - if (!cond) { - Py_DECREF(Yield_annotations); - return 0; - } - Py_DECREF(Yield_annotations); - PyObject *YieldFrom_annotations = PyDict_New(); - if (!YieldFrom_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(YieldFrom_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(YieldFrom_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->YieldFrom_type, "_field_types", - YieldFrom_annotations) == 0; - if (!cond) { - Py_DECREF(YieldFrom_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->YieldFrom_type, "__annotations__", - YieldFrom_annotations) == 0; - if (!cond) { - Py_DECREF(YieldFrom_annotations); - return 0; - } - Py_DECREF(YieldFrom_annotations); - PyObject *Compare_annotations = PyDict_New(); - if (!Compare_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Compare_annotations, "left", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Compare_annotations); - return 0; - } - } - { - PyObject *type = state->cmpop_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Compare_annotations); - return 0; - } - cond = PyDict_SetItemString(Compare_annotations, "ops", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Compare_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Compare_annotations); - return 0; - } - cond = PyDict_SetItemString(Compare_annotations, "comparators", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Compare_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Compare_type, "_field_types", - Compare_annotations) == 0; - if (!cond) { - Py_DECREF(Compare_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Compare_type, "__annotations__", - Compare_annotations) == 0; - if (!cond) { - Py_DECREF(Compare_annotations); - return 0; - } - Py_DECREF(Compare_annotations); - PyObject *Call_annotations = PyDict_New(); - if (!Call_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Call_annotations, "func", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Call_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Call_annotations); - return 0; - } - cond = PyDict_SetItemString(Call_annotations, "args", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Call_annotations); - return 0; - } - } - { - PyObject *type = state->keyword_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Call_annotations); - return 0; - } - cond = PyDict_SetItemString(Call_annotations, "keywords", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Call_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Call_type, "_field_types", - Call_annotations) == 0; - if (!cond) { - Py_DECREF(Call_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Call_type, "__annotations__", - Call_annotations) == 0; - if (!cond) { - Py_DECREF(Call_annotations); - return 0; - } - Py_DECREF(Call_annotations); - PyObject *FormattedValue_annotations = PyDict_New(); - if (!FormattedValue_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(FormattedValue_annotations, "value", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FormattedValue_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyLong_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(FormattedValue_annotations, "conversion", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FormattedValue_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(FormattedValue_annotations); - return 0; - } - cond = PyDict_SetItemString(FormattedValue_annotations, "format_spec", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(FormattedValue_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->FormattedValue_type, "_field_types", - FormattedValue_annotations) == 0; - if (!cond) { - Py_DECREF(FormattedValue_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->FormattedValue_type, - "__annotations__", - FormattedValue_annotations) == 0; - if (!cond) { - Py_DECREF(FormattedValue_annotations); - return 0; - } - Py_DECREF(FormattedValue_annotations); - PyObject *Interpolation_annotations = PyDict_New(); - if (!Interpolation_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Interpolation_annotations, "value", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Interpolation_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyBaseObject_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(Interpolation_annotations, "str", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Interpolation_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyLong_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(Interpolation_annotations, "conversion", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Interpolation_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Interpolation_annotations); - return 0; - } - cond = PyDict_SetItemString(Interpolation_annotations, "format_spec", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Interpolation_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Interpolation_type, "_field_types", - Interpolation_annotations) == 0; - if (!cond) { - Py_DECREF(Interpolation_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Interpolation_type, "__annotations__", - Interpolation_annotations) == 0; - if (!cond) { - Py_DECREF(Interpolation_annotations); - return 0; - } - Py_DECREF(Interpolation_annotations); - PyObject *JoinedStr_annotations = PyDict_New(); - if (!JoinedStr_annotations) return 0; - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(JoinedStr_annotations); - return 0; - } - cond = PyDict_SetItemString(JoinedStr_annotations, "values", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(JoinedStr_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->JoinedStr_type, "_field_types", - JoinedStr_annotations) == 0; - if (!cond) { - Py_DECREF(JoinedStr_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->JoinedStr_type, "__annotations__", - JoinedStr_annotations) == 0; - if (!cond) { - Py_DECREF(JoinedStr_annotations); - return 0; - } - Py_DECREF(JoinedStr_annotations); - PyObject *TemplateStr_annotations = PyDict_New(); - if (!TemplateStr_annotations) return 0; - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(TemplateStr_annotations); - return 0; - } - cond = PyDict_SetItemString(TemplateStr_annotations, "values", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TemplateStr_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->TemplateStr_type, "_field_types", - TemplateStr_annotations) == 0; - if (!cond) { - Py_DECREF(TemplateStr_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->TemplateStr_type, "__annotations__", - TemplateStr_annotations) == 0; - if (!cond) { - Py_DECREF(TemplateStr_annotations); - return 0; - } - Py_DECREF(TemplateStr_annotations); - PyObject *Constant_annotations = PyDict_New(); - if (!Constant_annotations) return 0; - { - PyObject *type = (PyObject *)&PyBaseObject_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(Constant_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Constant_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Constant_annotations); - return 0; - } - cond = PyDict_SetItemString(Constant_annotations, "kind", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Constant_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Constant_type, "_field_types", - Constant_annotations) == 0; - if (!cond) { - Py_DECREF(Constant_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Constant_type, "__annotations__", - Constant_annotations) == 0; - if (!cond) { - Py_DECREF(Constant_annotations); - return 0; - } - Py_DECREF(Constant_annotations); - PyObject *Attribute_annotations = PyDict_New(); - if (!Attribute_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Attribute_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Attribute_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(Attribute_annotations, "attr", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Attribute_annotations); - return 0; - } - } - { - PyObject *type = state->expr_context_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Attribute_annotations, "ctx", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Attribute_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Attribute_type, "_field_types", - Attribute_annotations) == 0; - if (!cond) { - Py_DECREF(Attribute_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Attribute_type, "__annotations__", - Attribute_annotations) == 0; - if (!cond) { - Py_DECREF(Attribute_annotations); - return 0; - } - Py_DECREF(Attribute_annotations); - PyObject *Subscript_annotations = PyDict_New(); - if (!Subscript_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Subscript_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Subscript_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Subscript_annotations, "slice", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Subscript_annotations); - return 0; - } - } - { - PyObject *type = state->expr_context_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Subscript_annotations, "ctx", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Subscript_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Subscript_type, "_field_types", - Subscript_annotations) == 0; - if (!cond) { - Py_DECREF(Subscript_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Subscript_type, "__annotations__", - Subscript_annotations) == 0; - if (!cond) { - Py_DECREF(Subscript_annotations); - return 0; - } - Py_DECREF(Subscript_annotations); - PyObject *Starred_annotations = PyDict_New(); - if (!Starred_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Starred_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Starred_annotations); - return 0; - } - } - { - PyObject *type = state->expr_context_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Starred_annotations, "ctx", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Starred_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Starred_type, "_field_types", - Starred_annotations) == 0; - if (!cond) { - Py_DECREF(Starred_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Starred_type, "__annotations__", - Starred_annotations) == 0; - if (!cond) { - Py_DECREF(Starred_annotations); - return 0; - } - Py_DECREF(Starred_annotations); - PyObject *Name_annotations = PyDict_New(); - if (!Name_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(Name_annotations, "id", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Name_annotations); - return 0; - } - } - { - PyObject *type = state->expr_context_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Name_annotations, "ctx", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Name_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Name_type, "_field_types", - Name_annotations) == 0; - if (!cond) { - Py_DECREF(Name_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Name_type, "__annotations__", - Name_annotations) == 0; - if (!cond) { - Py_DECREF(Name_annotations); - return 0; - } - Py_DECREF(Name_annotations); - PyObject *List_annotations = PyDict_New(); - if (!List_annotations) return 0; - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(List_annotations); - return 0; - } - cond = PyDict_SetItemString(List_annotations, "elts", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(List_annotations); - return 0; - } - } - { - PyObject *type = state->expr_context_type; - Py_INCREF(type); - cond = PyDict_SetItemString(List_annotations, "ctx", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(List_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->List_type, "_field_types", - List_annotations) == 0; - if (!cond) { - Py_DECREF(List_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->List_type, "__annotations__", - List_annotations) == 0; - if (!cond) { - Py_DECREF(List_annotations); - return 0; - } - Py_DECREF(List_annotations); - PyObject *Tuple_annotations = PyDict_New(); - if (!Tuple_annotations) return 0; - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(Tuple_annotations); - return 0; - } - cond = PyDict_SetItemString(Tuple_annotations, "elts", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Tuple_annotations); - return 0; - } - } - { - PyObject *type = state->expr_context_type; - Py_INCREF(type); - cond = PyDict_SetItemString(Tuple_annotations, "ctx", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Tuple_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Tuple_type, "_field_types", - Tuple_annotations) == 0; - if (!cond) { - Py_DECREF(Tuple_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Tuple_type, "__annotations__", - Tuple_annotations) == 0; - if (!cond) { - Py_DECREF(Tuple_annotations); - return 0; - } - Py_DECREF(Tuple_annotations); - PyObject *Slice_annotations = PyDict_New(); - if (!Slice_annotations) return 0; - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Slice_annotations); - return 0; - } - cond = PyDict_SetItemString(Slice_annotations, "lower", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Slice_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Slice_annotations); - return 0; - } - cond = PyDict_SetItemString(Slice_annotations, "upper", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Slice_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(Slice_annotations); - return 0; - } - cond = PyDict_SetItemString(Slice_annotations, "step", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(Slice_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->Slice_type, "_field_types", - Slice_annotations) == 0; - if (!cond) { - Py_DECREF(Slice_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Slice_type, "__annotations__", - Slice_annotations) == 0; - if (!cond) { - Py_DECREF(Slice_annotations); - return 0; - } - Py_DECREF(Slice_annotations); - PyObject *Load_annotations = PyDict_New(); - if (!Load_annotations) return 0; - cond = PyObject_SetAttrString(state->Load_type, "_field_types", - Load_annotations) == 0; - if (!cond) { - Py_DECREF(Load_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Load_type, "__annotations__", - Load_annotations) == 0; - if (!cond) { - Py_DECREF(Load_annotations); - return 0; - } - Py_DECREF(Load_annotations); - PyObject *Store_annotations = PyDict_New(); - if (!Store_annotations) return 0; - cond = PyObject_SetAttrString(state->Store_type, "_field_types", - Store_annotations) == 0; - if (!cond) { - Py_DECREF(Store_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Store_type, "__annotations__", - Store_annotations) == 0; - if (!cond) { - Py_DECREF(Store_annotations); - return 0; - } - Py_DECREF(Store_annotations); - PyObject *Del_annotations = PyDict_New(); - if (!Del_annotations) return 0; - cond = PyObject_SetAttrString(state->Del_type, "_field_types", - Del_annotations) == 0; - if (!cond) { - Py_DECREF(Del_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Del_type, "__annotations__", - Del_annotations) == 0; - if (!cond) { - Py_DECREF(Del_annotations); - return 0; - } - Py_DECREF(Del_annotations); - PyObject *And_annotations = PyDict_New(); - if (!And_annotations) return 0; - cond = PyObject_SetAttrString(state->And_type, "_field_types", - And_annotations) == 0; - if (!cond) { - Py_DECREF(And_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->And_type, "__annotations__", - And_annotations) == 0; - if (!cond) { - Py_DECREF(And_annotations); - return 0; - } - Py_DECREF(And_annotations); - PyObject *Or_annotations = PyDict_New(); - if (!Or_annotations) return 0; - cond = PyObject_SetAttrString(state->Or_type, "_field_types", - Or_annotations) == 0; - if (!cond) { - Py_DECREF(Or_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Or_type, "__annotations__", - Or_annotations) == 0; - if (!cond) { - Py_DECREF(Or_annotations); - return 0; - } - Py_DECREF(Or_annotations); - PyObject *Add_annotations = PyDict_New(); - if (!Add_annotations) return 0; - cond = PyObject_SetAttrString(state->Add_type, "_field_types", - Add_annotations) == 0; - if (!cond) { - Py_DECREF(Add_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Add_type, "__annotations__", - Add_annotations) == 0; - if (!cond) { - Py_DECREF(Add_annotations); - return 0; - } - Py_DECREF(Add_annotations); - PyObject *Sub_annotations = PyDict_New(); - if (!Sub_annotations) return 0; - cond = PyObject_SetAttrString(state->Sub_type, "_field_types", - Sub_annotations) == 0; - if (!cond) { - Py_DECREF(Sub_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Sub_type, "__annotations__", - Sub_annotations) == 0; - if (!cond) { - Py_DECREF(Sub_annotations); - return 0; - } - Py_DECREF(Sub_annotations); - PyObject *Mult_annotations = PyDict_New(); - if (!Mult_annotations) return 0; - cond = PyObject_SetAttrString(state->Mult_type, "_field_types", - Mult_annotations) == 0; - if (!cond) { - Py_DECREF(Mult_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Mult_type, "__annotations__", - Mult_annotations) == 0; - if (!cond) { - Py_DECREF(Mult_annotations); - return 0; - } - Py_DECREF(Mult_annotations); - PyObject *MatMult_annotations = PyDict_New(); - if (!MatMult_annotations) return 0; - cond = PyObject_SetAttrString(state->MatMult_type, "_field_types", - MatMult_annotations) == 0; - if (!cond) { - Py_DECREF(MatMult_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->MatMult_type, "__annotations__", - MatMult_annotations) == 0; - if (!cond) { - Py_DECREF(MatMult_annotations); - return 0; - } - Py_DECREF(MatMult_annotations); - PyObject *Div_annotations = PyDict_New(); - if (!Div_annotations) return 0; - cond = PyObject_SetAttrString(state->Div_type, "_field_types", - Div_annotations) == 0; - if (!cond) { - Py_DECREF(Div_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Div_type, "__annotations__", - Div_annotations) == 0; - if (!cond) { - Py_DECREF(Div_annotations); - return 0; - } - Py_DECREF(Div_annotations); - PyObject *Mod_annotations = PyDict_New(); - if (!Mod_annotations) return 0; - cond = PyObject_SetAttrString(state->Mod_type, "_field_types", - Mod_annotations) == 0; - if (!cond) { - Py_DECREF(Mod_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Mod_type, "__annotations__", - Mod_annotations) == 0; - if (!cond) { - Py_DECREF(Mod_annotations); - return 0; - } - Py_DECREF(Mod_annotations); - PyObject *Pow_annotations = PyDict_New(); - if (!Pow_annotations) return 0; - cond = PyObject_SetAttrString(state->Pow_type, "_field_types", - Pow_annotations) == 0; - if (!cond) { - Py_DECREF(Pow_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Pow_type, "__annotations__", - Pow_annotations) == 0; - if (!cond) { - Py_DECREF(Pow_annotations); - return 0; - } - Py_DECREF(Pow_annotations); - PyObject *LShift_annotations = PyDict_New(); - if (!LShift_annotations) return 0; - cond = PyObject_SetAttrString(state->LShift_type, "_field_types", - LShift_annotations) == 0; - if (!cond) { - Py_DECREF(LShift_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->LShift_type, "__annotations__", - LShift_annotations) == 0; - if (!cond) { - Py_DECREF(LShift_annotations); - return 0; - } - Py_DECREF(LShift_annotations); - PyObject *RShift_annotations = PyDict_New(); - if (!RShift_annotations) return 0; - cond = PyObject_SetAttrString(state->RShift_type, "_field_types", - RShift_annotations) == 0; - if (!cond) { - Py_DECREF(RShift_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->RShift_type, "__annotations__", - RShift_annotations) == 0; - if (!cond) { - Py_DECREF(RShift_annotations); - return 0; - } - Py_DECREF(RShift_annotations); - PyObject *BitOr_annotations = PyDict_New(); - if (!BitOr_annotations) return 0; - cond = PyObject_SetAttrString(state->BitOr_type, "_field_types", - BitOr_annotations) == 0; - if (!cond) { - Py_DECREF(BitOr_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->BitOr_type, "__annotations__", - BitOr_annotations) == 0; - if (!cond) { - Py_DECREF(BitOr_annotations); - return 0; - } - Py_DECREF(BitOr_annotations); - PyObject *BitXor_annotations = PyDict_New(); - if (!BitXor_annotations) return 0; - cond = PyObject_SetAttrString(state->BitXor_type, "_field_types", - BitXor_annotations) == 0; - if (!cond) { - Py_DECREF(BitXor_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->BitXor_type, "__annotations__", - BitXor_annotations) == 0; - if (!cond) { - Py_DECREF(BitXor_annotations); - return 0; - } - Py_DECREF(BitXor_annotations); - PyObject *BitAnd_annotations = PyDict_New(); - if (!BitAnd_annotations) return 0; - cond = PyObject_SetAttrString(state->BitAnd_type, "_field_types", - BitAnd_annotations) == 0; - if (!cond) { - Py_DECREF(BitAnd_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->BitAnd_type, "__annotations__", - BitAnd_annotations) == 0; - if (!cond) { - Py_DECREF(BitAnd_annotations); - return 0; - } - Py_DECREF(BitAnd_annotations); - PyObject *FloorDiv_annotations = PyDict_New(); - if (!FloorDiv_annotations) return 0; - cond = PyObject_SetAttrString(state->FloorDiv_type, "_field_types", - FloorDiv_annotations) == 0; - if (!cond) { - Py_DECREF(FloorDiv_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->FloorDiv_type, "__annotations__", - FloorDiv_annotations) == 0; - if (!cond) { - Py_DECREF(FloorDiv_annotations); - return 0; - } - Py_DECREF(FloorDiv_annotations); - PyObject *Invert_annotations = PyDict_New(); - if (!Invert_annotations) return 0; - cond = PyObject_SetAttrString(state->Invert_type, "_field_types", - Invert_annotations) == 0; - if (!cond) { - Py_DECREF(Invert_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Invert_type, "__annotations__", - Invert_annotations) == 0; - if (!cond) { - Py_DECREF(Invert_annotations); - return 0; - } - Py_DECREF(Invert_annotations); - PyObject *Not_annotations = PyDict_New(); - if (!Not_annotations) return 0; - cond = PyObject_SetAttrString(state->Not_type, "_field_types", - Not_annotations) == 0; - if (!cond) { - Py_DECREF(Not_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Not_type, "__annotations__", - Not_annotations) == 0; - if (!cond) { - Py_DECREF(Not_annotations); - return 0; - } - Py_DECREF(Not_annotations); - PyObject *UAdd_annotations = PyDict_New(); - if (!UAdd_annotations) return 0; - cond = PyObject_SetAttrString(state->UAdd_type, "_field_types", - UAdd_annotations) == 0; - if (!cond) { - Py_DECREF(UAdd_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->UAdd_type, "__annotations__", - UAdd_annotations) == 0; - if (!cond) { - Py_DECREF(UAdd_annotations); - return 0; - } - Py_DECREF(UAdd_annotations); - PyObject *USub_annotations = PyDict_New(); - if (!USub_annotations) return 0; - cond = PyObject_SetAttrString(state->USub_type, "_field_types", - USub_annotations) == 0; - if (!cond) { - Py_DECREF(USub_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->USub_type, "__annotations__", - USub_annotations) == 0; - if (!cond) { - Py_DECREF(USub_annotations); - return 0; - } - Py_DECREF(USub_annotations); - PyObject *Eq_annotations = PyDict_New(); - if (!Eq_annotations) return 0; - cond = PyObject_SetAttrString(state->Eq_type, "_field_types", - Eq_annotations) == 0; - if (!cond) { - Py_DECREF(Eq_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Eq_type, "__annotations__", - Eq_annotations) == 0; - if (!cond) { - Py_DECREF(Eq_annotations); - return 0; - } - Py_DECREF(Eq_annotations); - PyObject *NotEq_annotations = PyDict_New(); - if (!NotEq_annotations) return 0; - cond = PyObject_SetAttrString(state->NotEq_type, "_field_types", - NotEq_annotations) == 0; - if (!cond) { - Py_DECREF(NotEq_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->NotEq_type, "__annotations__", - NotEq_annotations) == 0; - if (!cond) { - Py_DECREF(NotEq_annotations); - return 0; - } - Py_DECREF(NotEq_annotations); - PyObject *Lt_annotations = PyDict_New(); - if (!Lt_annotations) return 0; - cond = PyObject_SetAttrString(state->Lt_type, "_field_types", - Lt_annotations) == 0; - if (!cond) { - Py_DECREF(Lt_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Lt_type, "__annotations__", - Lt_annotations) == 0; - if (!cond) { - Py_DECREF(Lt_annotations); - return 0; - } - Py_DECREF(Lt_annotations); - PyObject *LtE_annotations = PyDict_New(); - if (!LtE_annotations) return 0; - cond = PyObject_SetAttrString(state->LtE_type, "_field_types", - LtE_annotations) == 0; - if (!cond) { - Py_DECREF(LtE_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->LtE_type, "__annotations__", - LtE_annotations) == 0; - if (!cond) { - Py_DECREF(LtE_annotations); - return 0; - } - Py_DECREF(LtE_annotations); - PyObject *Gt_annotations = PyDict_New(); - if (!Gt_annotations) return 0; - cond = PyObject_SetAttrString(state->Gt_type, "_field_types", - Gt_annotations) == 0; - if (!cond) { - Py_DECREF(Gt_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Gt_type, "__annotations__", - Gt_annotations) == 0; - if (!cond) { - Py_DECREF(Gt_annotations); - return 0; - } - Py_DECREF(Gt_annotations); - PyObject *GtE_annotations = PyDict_New(); - if (!GtE_annotations) return 0; - cond = PyObject_SetAttrString(state->GtE_type, "_field_types", - GtE_annotations) == 0; - if (!cond) { - Py_DECREF(GtE_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->GtE_type, "__annotations__", - GtE_annotations) == 0; - if (!cond) { - Py_DECREF(GtE_annotations); - return 0; - } - Py_DECREF(GtE_annotations); - PyObject *Is_annotations = PyDict_New(); - if (!Is_annotations) return 0; - cond = PyObject_SetAttrString(state->Is_type, "_field_types", - Is_annotations) == 0; - if (!cond) { - Py_DECREF(Is_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->Is_type, "__annotations__", - Is_annotations) == 0; - if (!cond) { - Py_DECREF(Is_annotations); - return 0; - } - Py_DECREF(Is_annotations); - PyObject *IsNot_annotations = PyDict_New(); - if (!IsNot_annotations) return 0; - cond = PyObject_SetAttrString(state->IsNot_type, "_field_types", - IsNot_annotations) == 0; - if (!cond) { - Py_DECREF(IsNot_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->IsNot_type, "__annotations__", - IsNot_annotations) == 0; - if (!cond) { - Py_DECREF(IsNot_annotations); - return 0; - } - Py_DECREF(IsNot_annotations); - PyObject *In_annotations = PyDict_New(); - if (!In_annotations) return 0; - cond = PyObject_SetAttrString(state->In_type, "_field_types", - In_annotations) == 0; - if (!cond) { - Py_DECREF(In_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->In_type, "__annotations__", - In_annotations) == 0; - if (!cond) { - Py_DECREF(In_annotations); - return 0; - } - Py_DECREF(In_annotations); - PyObject *NotIn_annotations = PyDict_New(); - if (!NotIn_annotations) return 0; - cond = PyObject_SetAttrString(state->NotIn_type, "_field_types", - NotIn_annotations) == 0; - if (!cond) { - Py_DECREF(NotIn_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->NotIn_type, "__annotations__", - NotIn_annotations) == 0; - if (!cond) { - Py_DECREF(NotIn_annotations); - return 0; - } - Py_DECREF(NotIn_annotations); - PyObject *comprehension_annotations = PyDict_New(); - if (!comprehension_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(comprehension_annotations, "target", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(comprehension_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(comprehension_annotations, "iter", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(comprehension_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(comprehension_annotations); - return 0; - } - cond = PyDict_SetItemString(comprehension_annotations, "ifs", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(comprehension_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyLong_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(comprehension_annotations, "is_async", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(comprehension_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->comprehension_type, "_field_types", - comprehension_annotations) == 0; - if (!cond) { - Py_DECREF(comprehension_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->comprehension_type, "__annotations__", - comprehension_annotations) == 0; - if (!cond) { - Py_DECREF(comprehension_annotations); - return 0; - } - Py_DECREF(comprehension_annotations); - PyObject *ExceptHandler_annotations = PyDict_New(); - if (!ExceptHandler_annotations) return 0; - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(ExceptHandler_annotations); - return 0; - } - cond = PyDict_SetItemString(ExceptHandler_annotations, "type", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ExceptHandler_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(ExceptHandler_annotations); - return 0; - } - cond = PyDict_SetItemString(ExceptHandler_annotations, "name", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ExceptHandler_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(ExceptHandler_annotations); - return 0; - } - cond = PyDict_SetItemString(ExceptHandler_annotations, "body", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ExceptHandler_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->ExceptHandler_type, "_field_types", - ExceptHandler_annotations) == 0; - if (!cond) { - Py_DECREF(ExceptHandler_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->ExceptHandler_type, "__annotations__", - ExceptHandler_annotations) == 0; - if (!cond) { - Py_DECREF(ExceptHandler_annotations); - return 0; - } - Py_DECREF(ExceptHandler_annotations); - PyObject *arguments_annotations = PyDict_New(); - if (!arguments_annotations) return 0; - { - PyObject *type = state->arg_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - cond = PyDict_SetItemString(arguments_annotations, "posonlyargs", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - } - { - PyObject *type = state->arg_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - cond = PyDict_SetItemString(arguments_annotations, "args", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - } - { - PyObject *type = state->arg_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - cond = PyDict_SetItemString(arguments_annotations, "vararg", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - } - { - PyObject *type = state->arg_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - cond = PyDict_SetItemString(arguments_annotations, "kwonlyargs", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - cond = PyDict_SetItemString(arguments_annotations, "kw_defaults", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - } - { - PyObject *type = state->arg_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - cond = PyDict_SetItemString(arguments_annotations, "kwarg", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - cond = PyDict_SetItemString(arguments_annotations, "defaults", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->arguments_type, "_field_types", - arguments_annotations) == 0; - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->arguments_type, "__annotations__", - arguments_annotations) == 0; - if (!cond) { - Py_DECREF(arguments_annotations); - return 0; - } - Py_DECREF(arguments_annotations); - PyObject *arg_annotations = PyDict_New(); - if (!arg_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(arg_annotations, "arg", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(arg_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(arg_annotations); - return 0; - } - cond = PyDict_SetItemString(arg_annotations, "annotation", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(arg_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(arg_annotations); - return 0; - } - cond = PyDict_SetItemString(arg_annotations, "type_comment", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(arg_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->arg_type, "_field_types", - arg_annotations) == 0; - if (!cond) { - Py_DECREF(arg_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->arg_type, "__annotations__", - arg_annotations) == 0; - if (!cond) { - Py_DECREF(arg_annotations); - return 0; - } - Py_DECREF(arg_annotations); - PyObject *keyword_annotations = PyDict_New(); - if (!keyword_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(keyword_annotations); - return 0; - } - cond = PyDict_SetItemString(keyword_annotations, "arg", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(keyword_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(keyword_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(keyword_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->keyword_type, "_field_types", - keyword_annotations) == 0; - if (!cond) { - Py_DECREF(keyword_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->keyword_type, "__annotations__", - keyword_annotations) == 0; - if (!cond) { - Py_DECREF(keyword_annotations); - return 0; - } - Py_DECREF(keyword_annotations); - PyObject *alias_annotations = PyDict_New(); - if (!alias_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(alias_annotations, "name", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(alias_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(alias_annotations); - return 0; - } - cond = PyDict_SetItemString(alias_annotations, "asname", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(alias_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->alias_type, "_field_types", - alias_annotations) == 0; - if (!cond) { - Py_DECREF(alias_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->alias_type, "__annotations__", - alias_annotations) == 0; - if (!cond) { - Py_DECREF(alias_annotations); - return 0; - } - Py_DECREF(alias_annotations); - PyObject *withitem_annotations = PyDict_New(); - if (!withitem_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(withitem_annotations, "context_expr", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(withitem_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(withitem_annotations); - return 0; - } - cond = PyDict_SetItemString(withitem_annotations, "optional_vars", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(withitem_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->withitem_type, "_field_types", - withitem_annotations) == 0; - if (!cond) { - Py_DECREF(withitem_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->withitem_type, "__annotations__", - withitem_annotations) == 0; - if (!cond) { - Py_DECREF(withitem_annotations); - return 0; - } - Py_DECREF(withitem_annotations); - PyObject *match_case_annotations = PyDict_New(); - if (!match_case_annotations) return 0; - { - PyObject *type = state->pattern_type; - Py_INCREF(type); - cond = PyDict_SetItemString(match_case_annotations, "pattern", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(match_case_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(match_case_annotations); - return 0; - } - cond = PyDict_SetItemString(match_case_annotations, "guard", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(match_case_annotations); - return 0; - } - } - { - PyObject *type = state->stmt_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(match_case_annotations); - return 0; - } - cond = PyDict_SetItemString(match_case_annotations, "body", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(match_case_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->match_case_type, "_field_types", - match_case_annotations) == 0; - if (!cond) { - Py_DECREF(match_case_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->match_case_type, "__annotations__", - match_case_annotations) == 0; - if (!cond) { - Py_DECREF(match_case_annotations); - return 0; - } - Py_DECREF(match_case_annotations); - PyObject *MatchValue_annotations = PyDict_New(); - if (!MatchValue_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(MatchValue_annotations, "value", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchValue_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->MatchValue_type, "_field_types", - MatchValue_annotations) == 0; - if (!cond) { - Py_DECREF(MatchValue_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->MatchValue_type, "__annotations__", - MatchValue_annotations) == 0; - if (!cond) { - Py_DECREF(MatchValue_annotations); - return 0; - } - Py_DECREF(MatchValue_annotations); - PyObject *MatchSingleton_annotations = PyDict_New(); - if (!MatchSingleton_annotations) return 0; - { - PyObject *type = (PyObject *)&PyBaseObject_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(MatchSingleton_annotations, "value", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchSingleton_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->MatchSingleton_type, "_field_types", - MatchSingleton_annotations) == 0; - if (!cond) { - Py_DECREF(MatchSingleton_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->MatchSingleton_type, - "__annotations__", - MatchSingleton_annotations) == 0; - if (!cond) { - Py_DECREF(MatchSingleton_annotations); - return 0; - } - Py_DECREF(MatchSingleton_annotations); - PyObject *MatchSequence_annotations = PyDict_New(); - if (!MatchSequence_annotations) return 0; - { - PyObject *type = state->pattern_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchSequence_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchSequence_annotations, "patterns", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchSequence_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->MatchSequence_type, "_field_types", - MatchSequence_annotations) == 0; - if (!cond) { - Py_DECREF(MatchSequence_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->MatchSequence_type, "__annotations__", - MatchSequence_annotations) == 0; - if (!cond) { - Py_DECREF(MatchSequence_annotations); - return 0; - } - Py_DECREF(MatchSequence_annotations); - PyObject *MatchMapping_annotations = PyDict_New(); - if (!MatchMapping_annotations) return 0; - { - PyObject *type = state->expr_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchMapping_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchMapping_annotations, "keys", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchMapping_annotations); - return 0; - } - } - { - PyObject *type = state->pattern_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchMapping_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchMapping_annotations, "patterns", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchMapping_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchMapping_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchMapping_annotations, "rest", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchMapping_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->MatchMapping_type, "_field_types", - MatchMapping_annotations) == 0; - if (!cond) { - Py_DECREF(MatchMapping_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->MatchMapping_type, "__annotations__", - MatchMapping_annotations) == 0; - if (!cond) { - Py_DECREF(MatchMapping_annotations); - return 0; - } - Py_DECREF(MatchMapping_annotations); - PyObject *MatchClass_annotations = PyDict_New(); - if (!MatchClass_annotations) return 0; - { - PyObject *type = state->expr_type; - Py_INCREF(type); - cond = PyDict_SetItemString(MatchClass_annotations, "cls", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchClass_annotations); - return 0; - } - } - { - PyObject *type = state->pattern_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchClass_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchClass_annotations, "patterns", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchClass_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchClass_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchClass_annotations, "kwd_attrs", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchClass_annotations); - return 0; - } - } - { - PyObject *type = state->pattern_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchClass_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchClass_annotations, "kwd_patterns", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchClass_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->MatchClass_type, "_field_types", - MatchClass_annotations) == 0; - if (!cond) { - Py_DECREF(MatchClass_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->MatchClass_type, "__annotations__", - MatchClass_annotations) == 0; - if (!cond) { - Py_DECREF(MatchClass_annotations); - return 0; - } - Py_DECREF(MatchClass_annotations); - PyObject *MatchStar_annotations = PyDict_New(); - if (!MatchStar_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchStar_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchStar_annotations, "name", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchStar_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->MatchStar_type, "_field_types", - MatchStar_annotations) == 0; - if (!cond) { - Py_DECREF(MatchStar_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->MatchStar_type, "__annotations__", - MatchStar_annotations) == 0; - if (!cond) { - Py_DECREF(MatchStar_annotations); - return 0; - } - Py_DECREF(MatchStar_annotations); - PyObject *MatchAs_annotations = PyDict_New(); - if (!MatchAs_annotations) return 0; - { - PyObject *type = state->pattern_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchAs_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchAs_annotations, "pattern", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchAs_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchAs_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchAs_annotations, "name", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchAs_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->MatchAs_type, "_field_types", - MatchAs_annotations) == 0; - if (!cond) { - Py_DECREF(MatchAs_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->MatchAs_type, "__annotations__", - MatchAs_annotations) == 0; - if (!cond) { - Py_DECREF(MatchAs_annotations); - return 0; - } - Py_DECREF(MatchAs_annotations); - PyObject *MatchOr_annotations = PyDict_New(); - if (!MatchOr_annotations) return 0; - { - PyObject *type = state->pattern_type; - type = Py_GenericAlias((PyObject *)&PyList_Type, type); - cond = type != NULL; - if (!cond) { - Py_DECREF(MatchOr_annotations); - return 0; - } - cond = PyDict_SetItemString(MatchOr_annotations, "patterns", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(MatchOr_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->MatchOr_type, "_field_types", - MatchOr_annotations) == 0; - if (!cond) { - Py_DECREF(MatchOr_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->MatchOr_type, "__annotations__", - MatchOr_annotations) == 0; - if (!cond) { - Py_DECREF(MatchOr_annotations); - return 0; - } - Py_DECREF(MatchOr_annotations); - PyObject *TypeIgnore_annotations = PyDict_New(); - if (!TypeIgnore_annotations) return 0; - { - PyObject *type = (PyObject *)&PyLong_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(TypeIgnore_annotations, "lineno", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TypeIgnore_annotations); - return 0; - } - } - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(TypeIgnore_annotations, "tag", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TypeIgnore_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->TypeIgnore_type, "_field_types", - TypeIgnore_annotations) == 0; - if (!cond) { - Py_DECREF(TypeIgnore_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->TypeIgnore_type, "__annotations__", - TypeIgnore_annotations) == 0; - if (!cond) { - Py_DECREF(TypeIgnore_annotations); - return 0; - } - Py_DECREF(TypeIgnore_annotations); - PyObject *TypeVar_annotations = PyDict_New(); - if (!TypeVar_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(TypeVar_annotations, "name", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TypeVar_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(TypeVar_annotations); - return 0; - } - cond = PyDict_SetItemString(TypeVar_annotations, "bound", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TypeVar_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(TypeVar_annotations); - return 0; - } - cond = PyDict_SetItemString(TypeVar_annotations, "default_value", type) - == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TypeVar_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->TypeVar_type, "_field_types", - TypeVar_annotations) == 0; - if (!cond) { - Py_DECREF(TypeVar_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->TypeVar_type, "__annotations__", - TypeVar_annotations) == 0; - if (!cond) { - Py_DECREF(TypeVar_annotations); - return 0; - } - Py_DECREF(TypeVar_annotations); - PyObject *ParamSpec_annotations = PyDict_New(); - if (!ParamSpec_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(ParamSpec_annotations, "name", type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ParamSpec_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(ParamSpec_annotations); - return 0; - } - cond = PyDict_SetItemString(ParamSpec_annotations, "default_value", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(ParamSpec_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->ParamSpec_type, "_field_types", - ParamSpec_annotations) == 0; - if (!cond) { - Py_DECREF(ParamSpec_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->ParamSpec_type, "__annotations__", - ParamSpec_annotations) == 0; - if (!cond) { - Py_DECREF(ParamSpec_annotations); - return 0; - } - Py_DECREF(ParamSpec_annotations); - PyObject *TypeVarTuple_annotations = PyDict_New(); - if (!TypeVarTuple_annotations) return 0; - { - PyObject *type = (PyObject *)&PyUnicode_Type; - Py_INCREF(type); - cond = PyDict_SetItemString(TypeVarTuple_annotations, "name", type) == - 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TypeVarTuple_annotations); - return 0; - } - } - { - PyObject *type = state->expr_type; - type = _Py_union_type_or(type, Py_None); - cond = type != NULL; - if (!cond) { - Py_DECREF(TypeVarTuple_annotations); - return 0; - } - cond = PyDict_SetItemString(TypeVarTuple_annotations, "default_value", - type) == 0; - Py_DECREF(type); - if (!cond) { - Py_DECREF(TypeVarTuple_annotations); - return 0; - } - } - cond = PyObject_SetAttrString(state->TypeVarTuple_type, "_field_types", - TypeVarTuple_annotations) == 0; - if (!cond) { - Py_DECREF(TypeVarTuple_annotations); - return 0; - } - cond = PyObject_SetAttrString(state->TypeVarTuple_type, "__annotations__", - TypeVarTuple_annotations) == 0; - if (!cond) { - Py_DECREF(TypeVarTuple_annotations); - return 0; - } - Py_DECREF(TypeVarTuple_annotations); - return 1; +error: + Py_XDECREF(annotations); + return 0; } diff --git a/Tools/build/generate_global_objects.py b/Tools/build/generate_global_objects.py index 5b188e338bab360..9fbc5cc7ec10767 100644 --- a/Tools/build/generate_global_objects.py +++ b/Tools/build/generate_global_objects.py @@ -355,19 +355,20 @@ def generate_static_strings_initializer(identifiers, strings): printer.write(START) printer.write("static inline void") with printer.block("_PyUnicode_InitStaticStrings(PyInterpreterState *interp)"): - printer.write(f'PyObject *string;') - for i in sorted(identifiers): - # This use of _Py_ID() is ignored by iter_global_strings() - # since iter_files() ignores .h files. - printer.write(f'string = &_Py_ID({i});') - printer.write(f'_PyUnicode_InternStatic(interp, &string);') - printer.write(f'assert(_PyUnicode_CheckConsistency(string, 1));') - printer.write(f'assert(PyUnicode_GET_LENGTH(string) != 1);') - for value, name in sorted(strings.items()): - printer.write(f'string = &_Py_STR({name});') - printer.write(f'_PyUnicode_InternStatic(interp, &string);') - printer.write(f'assert(_PyUnicode_CheckConsistency(string, 1));') - printer.write(f'assert(PyUnicode_GET_LENGTH(string) != 1);') + printer.write('// Offsets avoid a pointer relocation for each string.') + with printer.block('static const size_t offsets[] =', ';'): + for i in sorted(identifiers): + printer.write('offsetof(struct _Py_global_strings, ' + f'identifiers._py_{i}._ascii.ob_base),') + for value, name in sorted(strings.items()): + printer.write('offsetof(struct _Py_global_strings, ' + f'literals._py_{name}._ascii.ob_base),') + printer.write('char *base = (char *)&_Py_SINGLETON(strings);') + with printer.block('for (size_t i = 0; i < Py_ARRAY_LENGTH(offsets); i++)'): + printer.write('PyObject *string = (PyObject *)(base + offsets[i]);') + printer.write('_PyUnicode_InternStatic(interp, &string);') + printer.write('assert(_PyUnicode_CheckConsistency(string, 1));') + printer.write('assert(PyUnicode_GET_LENGTH(string) != 1);') printer.write(END) printer.write(after) diff --git a/Tools/c-analyzer/cpython/_parser.py b/Tools/c-analyzer/cpython/_parser.py index 1d062c57a430134..40a0924fa2d5b6b 100644 --- a/Tools/c-analyzer/cpython/_parser.py +++ b/Tools/c-analyzer/cpython/_parser.py @@ -335,6 +335,8 @@ def format_tsv_lines(lines): _abs('Include/internal/pycore_opcode.h'): (10_000, 1000), _abs('Include/internal/pycore_global_strings.h'): (5_000, 1000), _abs('Include/internal/pycore_runtime_init_generated.h'): (5_000, 1000), + _abs('Include/internal/pycore_unicodeobject_generated.h'): (100_000, 1500), + _abs('Python/Python-ast.c'): (20_000, 500), _abs('Python/deepfreeze/*.c'): (20_000, 500), _abs('Python/frozen_modules/*.h'): (20_000, 500), _abs('Python/opcode_targets.h'): (10_000, 500), diff --git a/Tools/c-analyzer/cpython/ignored.tsv b/Tools/c-analyzer/cpython/ignored.tsv index 4c143164650a2ba..00ab8c3eff6a81a 100644 --- a/Tools/c-analyzer/cpython/ignored.tsv +++ b/Tools/c-analyzer/cpython/ignored.tsv @@ -365,6 +365,7 @@ Objects/unicodeobject.c unicode_translate_call_errorhandler argparse - Parser/parser.c - reserved_keywords - Parser/parser.c - soft_keywords - Parser/lexer/lexer.c - type_comment_prefix - +Python/Python-ast.c add_ast_annotations builtin_types const array of pointers to static builtin types Python/ceval.c - _PyEval_BinaryOps - Python/ceval.c - _Py_INTERPRETER_TRAMPOLINE_INSTRUCTIONS - Python/ceval.c - _Py_INTERPRETER_TRAMPOLINE_INSTRUCTIONS_PTR -