Copy entire subtree recursively.
(
self, inherit: bool, deep: bool = False, memo: dict[int, Any] | None = None
)
| 272 | return self._copy_subtree(inherit=inherit, deep=deep) |
| 273 | |
| 274 | def _copy_subtree( |
| 275 | self, inherit: bool, deep: bool = False, memo: dict[int, Any] | None = None |
| 276 | ) -> Self: |
| 277 | """Copy entire subtree recursively.""" |
| 278 | new_tree = self._copy_node(inherit=inherit, deep=deep, memo=memo) |
| 279 | for name, child in self.children.items(): |
| 280 | # TODO use `.children[name] = ...` once #9477 is implemented |
| 281 | new_tree._set( |
| 282 | name, child._copy_subtree(inherit=False, deep=deep, memo=memo) |
| 283 | ) |
| 284 | return new_tree |
| 285 | |
| 286 | def _copy_node( |
| 287 | self, inherit: bool, deep: bool = False, memo: dict[int, Any] | None = None |
no test coverage detected