
    -Ph                         d dl mZ d dlmZmZmZmZ d dlmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ  G d de          Zd	S )
   )ScopeTrackingTransform)StatListNodeSingleAssignmentNodeCFuncDefNodeDefNode)DictNodeDictItemNodeNameNodeUnicodeNode)py_object_type)EncodedString)Symtabc                   .    e Zd Zg dZd Zd Zd Zd ZdS )AutoTestDictTransform)	__cinit____dealloc____richcmp____nonzero____bool____len____contains__c           	         |j         r|S d| _        || _        | j        d         s|S | j        d         | _        | j        p| j        d         | _        t          |j        t                    sJ d|j	        j
        v r|S |j        }g | _        |j        | _        |j	                            t          d          t           |d          }t#          |t%          |t          d          |          t'          || j        	          
          }|                     |           |j        j                            |           |S )Nmoduleautotestdictzautotestdict.allzautotestdict.cdef__test__public)
visibility)nameentry)key_value_pairs)lhsrhs)is_pxd
scope_type
scope_nodecurrent_directivesall_docstringscdef_docstrings
isinstancebodyr   scopeentriesposteststestsposdeclare_varr   r   r   r
   r   visitchildrenstatsappend)selfnoder-   test_dict_entrycreate_test_dict_assignments        f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/Cython/Compiler/AnalysedTreeTransforms.pyvisit_ModuleNodez&AutoTestDictTransform.visit_ModuleNode   sU   ; 	K"&~6 	K"56HI#2bd6MNa6b$)\22222 +++Kh
*00z1J1J1?14<D 1 F F ';3=#<#<.0 0 0dj999'; '; ';# 	4   	:;;;    c                     | j         }t          | d|d         dd          }t          ||          }t          ||          }| j                            t          |||                     d S )Nz (line r   d))value)keyr>   )r/   r   r   r.   r3   r	   )r4   testpospathdoctestr-   keystrr?   r>   s           r8   add_testzAutoTestDictTransform.add_test2   s}    m$>>wqz>>>>??#V,,,Cw///
,s5AAABBBBBr:   c                     |S )N )r4   r5   s     r8   visit_ExprNodez$AutoTestDictTransform.visit_ExprNode9   s	     r:   c                    |j         rt          |t                    r	|j        r|S | j        st          |t
                    r	|j        s|S | j        sd|j         vr|S | j        }| j	        dk    r|j
        j        }n| j	        dv rt          |t
                    r!|j        |j        j        }n|j
        j        }n|j        }| j	        dk    r|| j        v r|S | j	        dk    r| j        j        }n| j        j        }t          |j
        j        t           j                  r5|j
        j        j        }|d|j
        j        j        d|j
        j        }n|d|j
        j        }nJ |                     |j        ||j                    |S )Nz>>>r   )pyclasscclassrJ   rI   .)docr)   r   fused_py_funcr(   r   py_funcr'   r/   r$   r   r   excludelistr%   
class_namer+   r   PropertyScoperD   r-   )r4   r5   r-   rA   r   rP   property_method_names          r8   visit_FuncDefNodez'AutoTestDictTransform.visit_FuncDefNode>   s   x 	JtW55 	$:L 	K# 	$-- dl " 	uDH'<'<Km?h&&:?DD_ 555$-- !<+<,DD:?DDy(**tt7G/G/G)++!_1

!_7
$**F,@AA ?'+z'7'<$%/ZZ1A1F1F1F%)Z__6 #-**djoo>Ldhdh///r:   N)__name__
__module____qualname__rO   r9   rD   rG   rS   rF   r:   r8   r   r      se        . . .K! ! !FC C C  
# # # # #r:   r   N)Visitorr   Nodesr   r   r   r   	ExprNodesr   r	   r
   r   
PyrexTypesr   StringEncodingr    r   r   rF   r:   r8   <module>r]      s    + + + + + + L L L L L L L L L L L L D D D D D D D D D D D D & & & & & & ) ) ) ) ) )      Y Y Y Y Y2 Y Y Y Y Yr:   