| 1234567891011121314151617181920212223 |
- """Generic node traverser visitor"""
- from __future__ import annotations
- from mypy.nodes import Block, MypyFile
- from mypy.traverser import TraverserVisitor
- class TreeFreer(TraverserVisitor):
- def visit_block(self, block: Block) -> None:
- super().visit_block(block)
- block.body.clear()
- def free_tree(tree: MypyFile) -> None:
- """Free all the ASTs associated with a module.
- This needs to be done recursively, since symbol tables contain
- references to definitions, so those won't be freed but we want their
- contents to be.
- """
- tree.accept(TreeFreer())
- tree.defs.clear()
|