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,