o
    f                     @   s   d dl mZ 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
 d
eZdS )    )absolute_import   )ScopeTrackingTransform)StatListNodeSingleAssignmentNodeCFuncDefNodeDefNode)DictNodeDictItemNodeNameNodeUnicodeNode)py_object_type)EncodedString)Symtabc                   @   s4   e Zd Zg dZdd Zdd Zdd Zdd	 Zd
S )AutoTestDictTransform)	__cinit____dealloc____richcmp____nonzero____bool____len____contains__c                 C   s   |j r|S d| _|| _| jd s|S | jd | _| jp| jd | _t|jts)J d|j	j
v r1|S |j}g | _|j| _|j	jtdt|dd}t|t|td|dt|| jd	d
}| | |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_assignment r7   b/var/www/html/mig_web/myenv/lib/python3.10/site-packages/Cython/Compiler/AnalysedTreeTransforms.pyvisit_ModuleNode   s8   


z&AutoTestDictTransform.visit_ModuleNodec                 C   sL   | j }d||d f }t|t|d}t||d}| jt|||d d S )Nz%s (line %d)r   )value)keyr:   )r.   r   r   r-   r2   r
   )r3   testpospathdoctestr,   keystrr;   r:   r7   r7   r8   add_test4   s
   zAutoTestDictTransform.add_testc                 C   s   |S )Nr7   )r3   r4   r7   r7   r8   visit_ExprNode;   s   z$AutoTestDictTransform.visit_ExprNodec                 C   s.  |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r1|j
j}n[| j	dv rt|trJ|jd urE|jj}n|j
j}n|j}| j	dkrY|| jv rY|S | j	dkrc| jj}n| jj}t|j
jtjr|j
jj}d||j
jj|j
jf }nd||j
jf }nJ | |j||j  |S )Nz>>>r   )pyclasscclassrC   rB   z%s.%s.%sz%s.%s)docr(   r   fused_py_funcr'   r   py_funcr&   r.   r#   r   r   excludelistr$   
class_namer*   r   PropertyScoper@   r,   )r3   r4   r,   r=   r   rH   property_method_namer7   r7   r8   visit_FuncDefNode@   s<   









z'AutoTestDictTransform.visit_FuncDefNodeN)__name__
__module____qualname__rG   r9   r@   rA   rK   r7   r7   r7   r8   r   
   s    #r   N)
__future__r   Visitorr   Nodesr   r   r   r   	ExprNodesr	   r
   r   r   
PyrexTypesr   StringEncodingr    r   r   r7   r7   r7   r8   <module>   s    