[pypy-commit] pypy py3.5: Handle call on iterable argument unpacking
raffael_t
pypy.commits at gmail.com
Sat Jun 11 18:04:18 EDT 2016
Author: Raffael Tfirst <raffael.tfirst at gmail.com>
Branch: py3.5
Changeset: r85103:e67603023b8b
Date: 2016-06-12 00:02 +0200
http://bitbucket.org/pypy/pypy/changeset/e67603023b8b/
Log: Handle call on iterable argument unpacking
diff --git a/pypy/interpreter/astcompiler/astbuilder.py b/pypy/interpreter/astcompiler/astbuilder.py
--- a/pypy/interpreter/astcompiler/astbuilder.py
+++ b/pypy/interpreter/astcompiler/astbuilder.py
@@ -1055,14 +1055,21 @@
self.error("positional argument follows "
"keyword argument unpacking",
expr_node)
- else
+ else:
self.error("positional argument follows "
"keyword argument",
expr_node)
args.append(self.handle_expr(expr_node))
- elif expr_node.type == tokens.STAR
+ elif expr_node.type == tokens.STAR:
# an iterable argument unpacking
- # continue here
+ if ndoublestars:
+ self.error("iterable argument unpacking follows "
+ "keyword argument unpacking",
+ expr_node)
+ expr = self.handle_expr(argument.get_child(1))
+ args.append(ast.Starred(expr, ast.Load,
+ expr_node.get_lineno(),
+ expr_node.get_column()))
elif argument.get_child(1).type == syms.comp_for:
args.append(self.handle_genexp(argument))
else:
More information about the pypy-commit
mailing list