]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Ensure that tok->type_comments is set on every path (GH-19828)
authorGuido van Rossum <guido@python.org>
Fri, 1 May 2020 16:42:32 +0000 (09:42 -0700)
committerGitHub <noreply@github.com>
Fri, 1 May 2020 16:42:32 +0000 (17:42 +0100)
Parser/pegen/pegen.c

index a7add8fbb144ee94ef1e17629f8a54b76ff48d4e..6ff09b3b31f783d04bea4196b08bf79e85d727f1 100644 (file)
@@ -1017,6 +1017,8 @@ _PyPegen_Parser_New(struct tok_state *tok, int start_rule, int flags,
         return (Parser *) PyErr_NoMemory();
     }
     assert(tok != NULL);
+    tok->type_comments = (flags & PyPARSE_TYPE_COMMENTS) > 0;
+    tok->async_hacks = (flags & PyPARSE_ASYNC_HACKS) > 0;
     p->tok = tok;
     p->keywords = NULL;
     p->n_keyword_lists = -1;
@@ -1172,9 +1174,6 @@ _PyPegen_run_parser_from_string(const char *str, int start_rule, PyObject *filen
 
     int parser_flags = compute_parser_flags(flags);
     int feature_version = flags ? flags->cf_feature_version : PY_MINOR_VERSION;
-    tok->type_comments = (parser_flags & PyPARSE_TYPE_COMMENTS) > 0;
-    tok->async_hacks = (parser_flags & PyPARSE_ASYNC_HACKS) > 0;
-
     Parser *p = _PyPegen_Parser_New(tok, start_rule, parser_flags, feature_version,
                                     NULL, arena);
     if (p == NULL) {