##// END OF EJS Templates
Merge pull request #13120 from meeseeksmachine/auto-backport-of-pr-13090-on-7.x...
Matthias Bussonnier -
r26759:06e21e83 merge
parent child Browse files
Show More
@@ -10,7 +10,9 b' deprecated in 7.0.'
10 # Copyright (c) IPython Development Team.
10 # Copyright (c) IPython Development Team.
11 # Distributed under the terms of the Modified BSD License.
11 # Distributed under the terms of the Modified BSD License.
12
12
13 from codeop import compile_command
13 import ast
14 import sys
15 from codeop import CommandCompiler, Compile
14 import re
16 import re
15 import tokenize
17 import tokenize
16 from typing import List, Tuple, Union
18 from typing import List, Tuple, Union
@@ -724,3 +726,25 b' def find_last_indent(lines):'
724 if not m:
726 if not m:
725 return 0
727 return 0
726 return len(m.group(0).replace('\t', ' '*4))
728 return len(m.group(0).replace('\t', ' '*4))
729
730
731 class MaybeAsyncCompile(Compile):
732 def __init__(self, extra_flags=0):
733 super().__init__()
734 self.flags |= extra_flags
735
736 def __call__(self, *args, **kwds):
737 return compile(*args, **kwds)
738
739
740 class MaybeAsyncCommandCompiler(CommandCompiler):
741 def __init__(self, extra_flags=0):
742 self.compiler = MaybeAsyncCompile(extra_flags=extra_flags)
743
744
745 if (sys.version_info.major, sys.version_info.minor) >= (3, 8):
746 _extra_flags = ast.PyCF_ALLOW_TOP_LEVEL_AWAIT
747 else:
748 _extra_flags = ast.PyCF_ONLY_AST
749
750 compile_command = MaybeAsyncCommandCompiler(extra_flags=_extra_flags)
General Comments 0
You need to be logged in to leave comments. Login now