Issue #28100: Refactor error messages, patch by Ivan Levkivskyi
diff --git a/Python/symtable.c b/Python/symtable.c
index f762904..bf30ecc 100644
--- a/Python/symtable.c
+++ b/Python/symtable.c
@@ -1282,14 +1282,12 @@
VISIT_QUIT(st, 0);
if (cur & (DEF_LOCAL | USE | DEF_ANNOT)) {
char* msg;
- if (cur & DEF_ANNOT) {
- msg = GLOBAL_ANNOT;
- }
- if (cur & DEF_LOCAL) {
- msg = GLOBAL_AFTER_ASSIGN;
- }
- else {
+ if (cur & USE) {
msg = GLOBAL_AFTER_USE;
+ } else if (cur & DEF_ANNOT) {
+ msg = GLOBAL_ANNOT;
+ } else { /* DEF_LOCAL */
+ msg = GLOBAL_AFTER_ASSIGN;
}
PyErr_Format(PyExc_SyntaxError,
msg, name);
@@ -1315,14 +1313,12 @@
VISIT_QUIT(st, 0);
if (cur & (DEF_LOCAL | USE | DEF_ANNOT)) {
char* msg;
- if (cur & DEF_ANNOT) {
- msg = NONLOCAL_ANNOT;
- }
- if (cur & DEF_LOCAL) {
- msg = NONLOCAL_AFTER_ASSIGN;
- }
- else {
+ if (cur & USE) {
msg = NONLOCAL_AFTER_USE;
+ } else if (cur & DEF_ANNOT) {
+ msg = NONLOCAL_ANNOT;
+ } else { /* DEF_LOCAL */
+ msg = NONLOCAL_AFTER_ASSIGN;
}
PyErr_Format(PyExc_SyntaxError, msg, name);
PyErr_SyntaxLocationObject(st->st_filename,