| 16 | |
| 17 | # from testtypegen |
| 18 | class SkippedNodeSearcher(TraverserVisitor): |
| 19 | def __init__(self) -> None: |
| 20 | self.nodes: set[Node] = set() |
| 21 | self.ignore_file = False |
| 22 | |
| 23 | def visit_assignment_stmt(self, s: AssignmentStmt) -> None: |
| 24 | if s.type or ignore_node(s.rvalue): |
| 25 | for lvalue in s.lvalues: |
| 26 | if isinstance(lvalue, NameExpr): |
| 27 | self.nodes.add(lvalue) |
| 28 | super().visit_assignment_stmt(s) |
| 29 | |
| 30 | def visit_name_expr(self, n: NameExpr) -> None: |
| 31 | if self.ignore_file: |
| 32 | self.nodes.add(n) |
| 33 | super().visit_name_expr(n) |
| 34 | |
| 35 | def visit_int_expr(self, n: IntExpr) -> None: |
| 36 | if self.ignore_file: |
| 37 | self.nodes.add(n) |
| 38 | super().visit_int_expr(n) |
| 39 | |
| 40 | |
| 41 | def ignore_node(node: Expression) -> bool: |