usse/funda-scraper/venv/lib/python3.10/site-packages/mypy/freetree.py

22 lines
581 B
Python
Raw Normal View History

2023-02-20 22:38:24 +00:00
"""Generic node traverser visitor"""
from mypy.traverser import TraverserVisitor
from mypy.nodes import Block, MypyFile
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()