@@ -127,13 +127,13 @@ def __repr__(self) -> str:
127
127
return f"[{ self .elements :, } ]"
128
128
129
129
130
- class Visitor (ast .NodeVisitor ): # noqa: D101
130
+ class Visitor (ast .NodeVisitor ):
131
131
in_class = False
132
132
133
133
def __init__ (self ):
134
134
self .unions : typing .List [typing .Tuple [ast .Subscript , Generic , bool ]] = []
135
135
136
- def visit_Subscript (self , node : ast .Subscript ) -> None : # noqa: D102
136
+ def visit_Subscript (self , node : ast .Subscript ) -> None :
137
137
if isinstance (node .value , ast .Name ) and node .value .id in collection_types :
138
138
union = Generic (node .value .id , UnionVisitor ().visit (get_slice_value (node .slice )))
139
139
self .unions .append ((node , union , self .in_class ))
@@ -151,40 +151,40 @@ def visit_Subscript(self, node: ast.Subscript) -> None: # noqa: D102
151
151
152
152
self .generic_visit (node )
153
153
154
- def visit (self , node : ast .AST ) -> typing .List [typing .Tuple [ast .Subscript , Generic , bool ]]: # noqa: D102
154
+ def visit (self , node : ast .AST ) -> typing .List [typing .Tuple [ast .Subscript , Generic , bool ]]:
155
155
super ().visit (node )
156
156
return self .unions
157
157
158
- def visit_FunctionDef (self , node : ast .FunctionDef ) -> None : # noqa: D102
158
+ def visit_FunctionDef (self , node : ast .FunctionDef ) -> None :
159
159
return None
160
160
161
- def visit_ClassDef (self , node : ast .ClassDef ) -> None : # noqa: D102
161
+ def visit_ClassDef (self , node : ast .ClassDef ) -> None :
162
162
self .unions .extend (ClassVisitor ().visit (node ))
163
163
164
- def visit_AsyncFunctionDef (self , node : ast .AsyncFunctionDef ) -> None : # noqa: D102
164
+ def visit_AsyncFunctionDef (self , node : ast .AsyncFunctionDef ) -> None :
165
165
return None
166
166
167
167
168
- class ClassVisitor (Visitor ): # noqa: D101
168
+ class ClassVisitor (Visitor ):
169
169
in_class = True
170
170
171
- def visit_ClassDef (self , node : ast .ClassDef ) -> None : # noqa: D102
171
+ def visit_ClassDef (self , node : ast .ClassDef ) -> None :
172
172
self .generic_visit (node )
173
173
174
174
175
- class UnionVisitor (ast .NodeVisitor ): # noqa: D101
175
+ class UnionVisitor (ast .NodeVisitor ):
176
176
177
177
def __init__ (self ):
178
178
super ().__init__ ()
179
179
self .structure : typing .List [typing .Union [str , Generic , List ]] = []
180
180
181
- def generic_visit (self , node : ast .AST ) -> None : # noqa: D102
181
+ def generic_visit (self , node : ast .AST ) -> None :
182
182
super ().generic_visit (node )
183
183
184
- def visit_Name (self , node : ast .Name ) -> None : # noqa: D102
184
+ def visit_Name (self , node : ast .Name ) -> None :
185
185
self .structure .append (f"{ node .id } " )
186
186
187
- def visit_Attribute (self , node : ast .Attribute ) -> None : # noqa: D102
187
+ def visit_Attribute (self , node : ast .Attribute ) -> None :
188
188
parts : DelimitedList [str ] = DelimitedList ()
189
189
value : typing .Union [ast .Name , ast .expr ] = node .value
190
190
@@ -203,45 +203,45 @@ def visit_Attribute(self, node: ast.Attribute) -> None: # noqa: D102
203
203
204
204
self .structure .append (f"{ parts :.} .{ node .attr } " )
205
205
206
- def visit_Subscript (self , node : ast .Subscript ) -> None : # noqa: D102
206
+ def visit_Subscript (self , node : ast .Subscript ) -> None :
207
207
union = Generic (
208
208
'.' .join (astatine .get_attribute_name (node .value )),
209
209
UnionVisitor ().visit (get_slice_value (node .slice )),
210
210
)
211
211
self .structure .append (union )
212
212
213
- def visit_List (self , node : ast .List ) -> None : # noqa: D102
213
+ def visit_List (self , node : ast .List ) -> None :
214
214
elements = []
215
215
for child in node .elts :
216
216
elements .extend (UnionVisitor ().visit (child ))
217
217
self .structure .append (List (elements ))
218
218
219
- def visit_Load (self , node : ast .Load ) -> None : # noqa: D102
219
+ def visit_Load (self , node : ast .Load ) -> None :
220
220
return None
221
221
222
- def visit_FunctionDef (self , node : ast .FunctionDef ) -> None : # noqa: D102
222
+ def visit_FunctionDef (self , node : ast .FunctionDef ) -> None :
223
223
return None
224
224
225
- def visit_ClassDef (self , node : ast .ClassDef ) -> None : # noqa: D102
225
+ def visit_ClassDef (self , node : ast .ClassDef ) -> None :
226
226
self .generic_visit (node )
227
227
228
- def visit_AsyncFunctionDef (self , node : ast .AsyncFunctionDef ) -> None : # noqa: D102
228
+ def visit_AsyncFunctionDef (self , node : ast .AsyncFunctionDef ) -> None :
229
229
return None
230
230
231
- def visit_NameConstant (self , node : ast .NameConstant ) -> None : # noqa: D102
231
+ def visit_NameConstant (self , node : ast .NameConstant ) -> None :
232
232
self .structure .append (node .value )
233
233
234
234
if sys .version_info [:2 ] < (3 , 8 ): # pragma: no cover (py38+)
235
235
236
- def visit_Str (self , node : ast .Str ) -> None : # noqa: D102
236
+ def visit_Str (self , node : ast .Str ) -> None :
237
237
self .structure .append (f'"{ node .s } "' )
238
238
239
- def visit_Ellipsis (self , node : ast .Ellipsis ) -> None : # noqa: D102
239
+ def visit_Ellipsis (self , node : ast .Ellipsis ) -> None :
240
240
self .structure .append ("..." )
241
241
242
242
else : # pragma: no cover (<py38)
243
243
244
- def visit_Constant (self , node : ast .Constant ) -> None : # noqa: D102
244
+ def visit_Constant (self , node : ast .Constant ) -> None :
245
245
if isinstance (node .value , str ):
246
246
self .structure .append (f'"{ node .value } "' )
247
247
elif node .value is Ellipsis :
@@ -252,7 +252,7 @@ def visit_Constant(self, node: ast.Constant) -> None: # noqa: D102
252
252
print (node , node .value )
253
253
self .generic_visit (node )
254
254
255
- def visit (self , node : ast .AST ) -> typing .List [typing .Union [str , Generic , List ]]: # noqa: D102
255
+ def visit (self , node : ast .AST ) -> typing .List [typing .Union [str , Generic , List ]]:
256
256
super ().visit (node )
257
257
return self .structure
258
258
0 commit comments