Author: Raffael Tfirst <[email protected]>
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:
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to