(self, node)
| 389 | self.traverse(node.body) |
| 390 | |
| 391 | def visit_ClassDef(self, node): |
| 392 | self.maybe_newline() |
| 393 | for deco in node.decorator_list: |
| 394 | self.fill("@", allow_semicolon=False) |
| 395 | self.traverse(deco) |
| 396 | self.fill("class " + node.name, allow_semicolon=False) |
| 397 | if hasattr(node, "type_params"): |
| 398 | self._type_params_helper(node.type_params) |
| 399 | with self.delimit_if("(", ")", condition = node.bases or node.keywords): |
| 400 | comma = False |
| 401 | for e in node.bases: |
| 402 | if comma: |
| 403 | self.write(", ") |
| 404 | else: |
| 405 | comma = True |
| 406 | self.traverse(e) |
| 407 | for e in node.keywords: |
| 408 | if comma: |
| 409 | self.write(", ") |
| 410 | else: |
| 411 | comma = True |
| 412 | self.traverse(e) |
| 413 | |
| 414 | with self.block(): |
| 415 | self._write_docstring_and_traverse_body(node) |
| 416 | |
| 417 | def visit_FunctionDef(self, node): |
| 418 | self._function_helper(node, "def") |
nothing calls this directly
no test coverage detected