(self, node, *args, **kwargs)
| 56 | """ |
| 57 | |
| 58 | def generic_visit(self, node, *args, **kwargs): |
| 59 | for field, old_value in node.iter_fields(): |
| 60 | if isinstance(old_value, list): |
| 61 | new_values = [] |
| 62 | for value in old_value: |
| 63 | if isinstance(value, Node): |
| 64 | value = self.visit(value, *args, **kwargs) |
| 65 | if value is None: |
| 66 | continue |
| 67 | elif not isinstance(value, Node): |
| 68 | new_values.extend(value) |
| 69 | continue |
| 70 | new_values.append(value) |
| 71 | old_value[:] = new_values |
| 72 | elif isinstance(old_value, Node): |
| 73 | new_node = self.visit(old_value, *args, **kwargs) |
| 74 | if new_node is None: |
| 75 | delattr(node, field) |
| 76 | else: |
| 77 | setattr(node, field, new_node) |
| 78 | return node |
| 79 | |
| 80 | def visit_list(self, node, *args, **kwargs): |
| 81 | """As transformers may return lists in some places this method |
nothing calls this directly
no test coverage detected