
    i                     2    S SK Jr  S SKJr   " S S\5      rg)   )SymlinkNodeMixin)_reprc                   (    \ rS rSrSrSS jrS rSrg)SymlinkNode   u  
Tree node which references to another tree node.

Args:
    target: Symbolic Link Target. Another tree node, which is referred to.

Keyword Args:
    parent: Reference to parent node.
    children: Iterable with child nodes.
    *: Any other given attribute is just stored as attribute **in** `target`.

The :any:`SymlinkNode` has its own parent and its own child nodes.
All other attribute accesses are just forwarded to the target node.

>>> from anytree import SymlinkNode, Node, RenderTree
>>> root = Node("root")
>>> s1 = Node("sub1", parent=root, bar=17)
>>> l = SymlinkNode(s1, parent=root, baz=18)
>>> l0 = Node("l0", parent=l)
>>> print(RenderTree(root))
Node('/root')
├── Node('/root/sub1', bar=17, baz=18)
└── SymlinkNode(Node('/root/sub1', bar=17, baz=18))
    └── Node('/root/sub1/l0')

Any modifications on the target node are also available on the linked node and vice-versa:

>>> s1.foo = 4
>>> s1.foo
4
>>> l.foo
4
>>> l.foo = 9
>>> s1.foo
9
>>> l.foo
9
Nc                     Xl         U R                   R                  R                  U5        X l        U(       a  X0l        g g )N)target__dict__updateparentchildren)selfr	   r   r   kwargss        E/app/mltbenv/lib/python3.13/site-packages/anytree/node/symlinknode.py__init__SymlinkNode.__init__-   s1    ##F+$M     c                 @    [        U [        U R                  5      /SS9$ )N)r	   )nameblacklist)r   reprr	   )r   s    r   __repr__SymlinkNode.__repr__4   s    TD-.kJJr   )r   r   r	   )NN)__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes__ r   r   r   r      s    %N%Kr   r   N)symlinknodemixinr   utilr   r   r   r   r   <module>r"      s    . 0K" 0Kr   