gh-106145: Make end_{lineno,col_offset} required on type_param nodes (#106224)

This commit is contained in:
Nikita Sobolev 2023-07-01 02:45:08 +03:00 committed by GitHub
parent 904aef9942
commit 46c1097868
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;