
    ^h                         S SK r S SKJr  S SKJrJrJr   " S S\ R                  5      r " S S\ R                  5      r	 " S S	5      r
g)
    N)contextmanager)	GeneratorSequenceUnionc                       \ rS rSrSS jrSrg)SkipUnboundArgsMixin   Nc                 p    U R                  UR                  5        U R                  UR                  5        g N)visitdefaultskw_defaults)selfnodes     Q/home/james-whalen/.local/lib/python3.13/site-packages/ipyflow/analysis/mixins.pyvisit_arguments$SkipUnboundArgsMixin.visit_arguments	   s$    

4==!

4##$     )returnN)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r      s    %r   r   c                   l   ^  \ rS rSrS\\R                  \\R                     4   SS4U 4S jjrSr	U =r
$ )VisitListsMixin   r   r   Nc                    > Uc  g [        U[        5      (       a  U H  nU R                  U5        M     g [        TU ]  U5        g r   )
isinstancer   r   supergeneric_visit)r   r   item	__class__s      r   r"   VisitListsMixin.generic_visit   s=    <h''

4   G!$'r   r   )r   r   r   r   r   astASTr   r"   r   __classcell__)r$   s   @r   r   r      s2    (%#''1B(B"C ( ( (r   r   c                   2    \ rS rSr\S\S   4S j5       rSrg)SaveOffAttributesMixin   r   )NNNc              +   0  #    U H&  n[        X5      (       a  M  [        SU< SU < 35      e   0 nU H  n[        X5      X2'   M     UR                  5        H  u  p$[	        XU5        M     S v   UR                  5        H  u  p$[	        XU5        M     g 7f)Nz$requested to save unfound attribute z of object )hasattrAttributeErrorgetattritemssetattr)r   kwargsksaved_attributesvs        r   push_attributes&SaveOffAttributesMixin.push_attributes   s     A4##$MNPTU  
 A")$"2 LLNDADQ #$**,DADQ -s   BA<Br   N)r   r   r   r   r   r   r6   r   r   r   r   r*   r*      s!     95E+F    r   r*   )r&   
contextlibr   typingr   r   r   NodeVisitorr   r   r*   r   r   r   <module>r;      s;    
 % - -%3?? %(coo (   r   