@@ -77,6 +77,20 @@ def __init__(self, parent=True):
77
77
self .yields = False
78
78
super ().__init__ ()
79
79
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
+
80
94
def visit_Raise (self , node ):
81
95
r = RaiseNameCollector ()
82
96
r .visit (node )
@@ -92,15 +106,7 @@ def visit_Return(self, node):
92
106
super ().generic_visit (node )
93
107
94
108
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 )
104
110
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