]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
ast.parse: check `feature_version` common case first (GH-94640)
authorAnthony Sottile <asottile@umich.edu>
Mon, 29 Aug 2022 14:05:24 +0000 (10:05 -0400)
committerGitHub <noreply@github.com>
Mon, 29 Aug 2022 14:05:24 +0000 (17:05 +0300)
Lib/ast.py

index ebf4529f79b0609b8ee29ba0b0c832efa52f9d20..8af6d1ed14db77536468748986250dc6ca3665f9 100644 (file)
@@ -40,13 +40,13 @@ def parse(source, filename='<unknown>', mode='exec', *,
     flags = PyCF_ONLY_AST
     if type_comments:
         flags |= PyCF_TYPE_COMMENTS
-    if isinstance(feature_version, tuple):
+    if feature_version is None:
+        feature_version = -1
+    elif isinstance(feature_version, tuple):
         major, minor = feature_version  # Should be a 2-tuple.
         if major != 3:
             raise ValueError(f"Unsupported major version: {major}")
         feature_version = minor
-    elif feature_version is None:
-        feature_version = -1
     # Else it should be an int giving the minor version for 3.x.
     return compile(source, filename, mode, flags,
                    _feature_version=feature_version)