Skip to content

Commit 8dcf0ee

Browse files
authored
Merge pull request #18 from pixelneo/async_func
Handle async functions
2 parents 440ecbf + 9171511 commit 8dcf0ee

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

python/asthelper.py

+17-11
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,20 @@ def __init__(self, parent=True):
7777
self.yields = False
7878
super().__init__()
7979

80+
def _handle_functions(self, node):
81+
new_visitor = MethodVisitor(parent=False)
82+
new_visitor.generic_visit(node)
83+
self.raises |= new_visitor.raises
84+
85+
if self.parent:
86+
for arg in node.args.args:
87+
self.arguments.append(arg.arg)
88+
if len(self.arguments) > 0 and (self.arguments[0] == 'self' or self.arguments[0] == 'cls'):
89+
self.arguments.pop(0)
90+
91+
self.returns = new_visitor.returns
92+
self.yields = new_visitor.yields
93+
8094
def visit_Raise(self, node):
8195
r = RaiseNameCollector()
8296
r.visit(node)
@@ -92,15 +106,7 @@ def visit_Return(self, node):
92106
super().generic_visit(node)
93107

94108
def visit_FunctionDef(self, node):
95-
new_visitor = MethodVisitor(parent=False)
96-
new_visitor.generic_visit(node)
97-
self.raises |= new_visitor.raises
98-
99-
if self.parent:
100-
for arg in node.args.args:
101-
self.arguments.append(arg.arg)
102-
if len(self.arguments) > 0 and (self.arguments[0] == 'self' or self.arguments[0] == 'cls'):
103-
self.arguments.pop(0)
109+
self._handle_functions(node)
104110

105-
self.returns = new_visitor.returns
106-
self.yields = new_visitor.yields
111+
def visit_AsyncFunctionDef(self, node):
112+
self._handle_functions(node)

0 commit comments

Comments
 (0)