[3.12] gh-106145: Make end_{lineno,col_offset} required on type_param nodes (GH-106224) (#106295)

gh-106145: Make `end_{lineno,col_offset}` required on `type_param` nodes (GH-106224)
(cherry picked from commit 46c1097868)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
This commit is contained in:
Miss Islington (bot) 2023-06-30 17:15:18 -07:00 committed by GitHub
parent d6a5a30669
commit 0616c83f57
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 10 additions and 14 deletions

18
Python/Python-ast.c generated
View file

@ -1902,12 +1902,6 @@ init_types(struct ast_state *state)
if (!state->type_param_type) return 0;
if (!add_attributes(state, state->type_param_type, type_param_attributes,
4)) return 0;
if (PyObject_SetAttr(state->type_param_type, state->end_lineno, Py_None) ==
-1)
return 0;
if (PyObject_SetAttr(state->type_param_type, state->end_col_offset,
Py_None) == -1)
return 0;
state->TypeVar_type = make_type(state, "TypeVar", state->type_param_type,
TypeVar_fields, 2,
"TypeVar(identifier name, expr? bound)");
@ -12500,9 +12494,9 @@ obj2ast_type_param(struct ast_state *state, PyObject* obj, type_param_ty* out,
if (_PyObject_LookupAttr(obj, state->end_lineno, &tmp) < 0) {
return 1;
}
if (tmp == NULL || tmp == Py_None) {
Py_CLEAR(tmp);
end_lineno = lineno;
if (tmp == NULL) {
PyErr_SetString(PyExc_TypeError, "required field \"end_lineno\" missing from type_param");
return 1;
}
else {
int res;
@ -12517,9 +12511,9 @@ obj2ast_type_param(struct ast_state *state, PyObject* obj, type_param_ty* out,
if (_PyObject_LookupAttr(obj, state->end_col_offset, &tmp) < 0) {
return 1;
}
if (tmp == NULL || tmp == Py_None) {
Py_CLEAR(tmp);
end_col_offset = col_offset;
if (tmp == NULL) {
PyErr_SetString(PyExc_TypeError, "required field \"end_col_offset\" missing from type_param");
return 1;
}
else {
int res;