# {py:mod}`simvx.core.scene_io.source_tree` ```{py:module} simvx.core.scene_io.source_tree ``` ```{autodoc2-docstring} simvx.core.scene_io.source_tree :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`SourceTree ` - ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`parse_source ` - ```{autodoc2-docstring} simvx.core.scene_io.source_tree.parse_source :summary: ``` * - {py:obj}`parse_snippet ` - ```{autodoc2-docstring} simvx.core.scene_io.source_tree.parse_snippet :summary: ``` ```` ### API ````{py:function} parse_source(text: str, *, error_recovery: bool = True) -> SourceTree :canonical: simvx.core.scene_io.source_tree.parse_source ```{autodoc2-docstring} simvx.core.scene_io.source_tree.parse_source ``` ```` ````{py:function} parse_snippet(text: str) -> parso.tree.NodeOrLeaf :canonical: simvx.core.scene_io.source_tree.parse_snippet ```{autodoc2-docstring} simvx.core.scene_io.source_tree.parse_snippet ``` ```` `````{py:class} SourceTree(module: parso.python.tree.Module, *, original_text: str) :canonical: simvx.core.scene_io.source_tree.SourceTree ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.core.scene_io.source_tree.SourceTree.__slots__ :value: > ('_module', '_original_text', '_errors_cache') ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.__slots__ ``` ```` ````{py:property} module :canonical: simvx.core.scene_io.source_tree.SourceTree.module :type: parso.python.tree.Module ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.module ``` ```` ````{py:property} original_text :canonical: simvx.core.scene_io.source_tree.SourceTree.original_text :type: str ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.original_text ``` ```` ````{py:method} dump() -> str :canonical: simvx.core.scene_io.source_tree.SourceTree.dump ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.dump ``` ```` ````{py:method} is_unchanged() -> bool :canonical: simvx.core.scene_io.source_tree.SourceTree.is_unchanged ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.is_unchanged ``` ```` ````{py:property} errors :canonical: simvx.core.scene_io.source_tree.SourceTree.errors :type: list[str] ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.errors ``` ```` ````{py:method} find_class(name: str) -> parso.python.tree.Class | None :canonical: simvx.core.scene_io.source_tree.SourceTree.find_class ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.find_class ``` ```` ````{py:method} iter_classes() -> collections.abc.Iterator[parso.python.tree.Class] :canonical: simvx.core.scene_io.source_tree.SourceTree.iter_classes ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.iter_classes ``` ```` ````{py:method} iter_imports() -> collections.abc.Iterator[parso.tree.NodeOrLeaf] :canonical: simvx.core.scene_io.source_tree.SourceTree.iter_imports ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.iter_imports ``` ```` ````{py:method} position_of(node: parso.tree.NodeOrLeaf) -> tuple[int, int] :canonical: simvx.core.scene_io.source_tree.SourceTree.position_of ```{autodoc2-docstring} simvx.core.scene_io.source_tree.SourceTree.position_of ``` ```` `````