Author: Raffael Tfirst <raffael.tfi...@gmail.com>
Branch: py3.5-async
Changeset: r85549:38271294f870
Date: 2016-07-04 21:19 +0200
http://bitbucket.org/pypy/pypy/changeset/38271294f870/

Log:    Change funcdef handling, return AsyncFunctionDef if needed

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
@@ -475,7 +475,7 @@
             return [self.handle_expr(bases_node.get_child(0))]
         return self.get_expression_list(bases_node)
 
-    def handle_funcdef(self, funcdef_node, decorators=None):
+    def handle_funcdef_impl(self, funcdef_node, is_async, decorators=None):
         name_node = funcdef_node.get_child(1)
         name = self.new_identifier(name_node.get_value())
         self.check_forbidden_name(name, name_node)
@@ -486,8 +486,12 @@
             returns = self.handle_expr(funcdef_node.get_child(4))
             suite += 2
         body = self.handle_suite(funcdef_node.get_child(suite))
-        return ast.FunctionDef(name, args, body, decorators, returns,
-                               funcdef_node.get_lineno(), 
funcdef_node.get_column())
+        if is_async:
+            return ast.AsyncFunctionDef(name, args, body, decorators, returns,
+                                   funcdef_node.get_lineno(), 
funcdef_node.get_column())
+        else:
+            return ast.FunctionDef(name, args, body, decorators, returns,
+                                   funcdef_node.get_lineno(), 
funcdef_node.get_column())
 
     def handle_decorated(self, decorated_node):
         decorators = self.handle_decorators(decorated_node.get_child(0))
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to