Skip to content

Commit

Permalink
bpo-35766: compile(): rename feature_version parameter (GH-13994) (GH…
Browse files Browse the repository at this point in the history
…-14001)

Rename compile() feature_version parameter to _feature_version and
convert it to a keyword-only parameter.

Update also test_type_comments to pass feature_version as a tuple.

(cherry picked from commit efdf6ca)
  • Loading branch information
vstinner committed Jun 12, 2019
1 parent 70a4178 commit b2fd32b
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 10 deletions.
2 changes: 1 addition & 1 deletion Lib/ast.py
Expand Up @@ -45,7 +45,7 @@ def parse(source, filename='<unknown>', mode='exec', *,
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)
_feature_version=feature_version)


def literal_eval(node_or_string):
Expand Down
5 changes: 3 additions & 2 deletions Lib/test/test_type_comments.py
Expand Up @@ -228,8 +228,9 @@ def parse(self, source, feature_version=highest):
feature_version=feature_version)

def parse_all(self, source, minver=lowest, maxver=highest, expected_regex=""):
for feature_version in range(self.lowest, self.highest + 1):
if minver <= feature_version <= maxver:
for version in range(self.lowest, self.highest + 1):
feature_version = (3, version)
if minver <= version <= maxver:
try:
yield self.parse(source, feature_version)
except SyntaxError as err:
Expand Down
5 changes: 3 additions & 2 deletions Python/bltinmodule.c
Expand Up @@ -696,7 +696,8 @@ compile as builtin_compile
flags: int = 0
dont_inherit: bool(accept={int}) = False
optimize: int = -1
feature_version: int = -1
*
_feature_version as feature_version: int = -1
Compile source into a code object that can be executed by exec() or eval().
Expand All @@ -716,7 +717,7 @@ static PyObject *
builtin_compile_impl(PyObject *module, PyObject *source, PyObject *filename,
const char *mode, int flags, int dont_inherit,
int optimize, int feature_version)
/*[clinic end generated code: output=b0c09c84f116d3d7 input=5fcc30651a6acaa9]*/
/*[clinic end generated code: output=b0c09c84f116d3d7 input=40171fb92c1d580d]*/
{
PyObject *source_copy;
const char *str;
Expand Down
14 changes: 9 additions & 5 deletions Python/clinic/bltinmodule.c.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit b2fd32b

Please sign in to comment.