o
    j                     @   st   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 )
   )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)Z	__cinit__Z__dealloc__Z__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moduleZautotestdictzautotestdict.allzautotestdict.cdefZ__test__public)Z
visibility)nameentry)Zkey_value_pairs)lhsrhs)Zis_pxd
scope_type
scope_nodeZcurrent_directivesall_docstringscdef_docstrings
isinstancebodyr   scopeentriesposteststestsposZdeclare_varr   r   r   r	   r   Zvisitchildrenstatsappend)selfnoder!   Ztest_dict_entryZcreate_test_dict_assignment r(   g/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/Cython/Compiler/AnalysedTreeTransforms.pyvisit_ModuleNode   s8   


z&AutoTestDictTransform.visit_ModuleNodec                 C   sR   | j }t| d|d dd}t||d}t||d}| jt|||d d S )Nz (line r   d))value)keyr-   )r#   r   r
   r"   r%   r   )r&   Ztestpospathdoctestr!   Zkeystrr.   r-   r(   r(   r)   add_test2   s
   zAutoTestDictTransform.add_testc                 C   s   |S )Nr(   )r&   r'   r(   r(   r)   visit_ExprNode9   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cclassr4   r3   z%s.%s.%sz%s.%s)docr   r   Zfused_py_funcr   r   Zpy_funcr   r#   r   r   r   excludelistr   
class_namer   r   ZPropertyScoper1   r!   )r&   r'   r!   r/   r   r7   Zproperty_method_namer(   r(   r)   visit_FuncDefNode>   s<   









z'AutoTestDictTransform.visit_FuncDefNodeN)__name__
__module____qualname__r6   r*   r1   r2   r8   r(   r(   r(   r)   r      s    #r   N)ZVisitorr   ZNodesr   r   r   r   Z	ExprNodesr   r   r	   r
   Z
PyrexTypesr   ZStringEncodingr    r   r   r(   r(   r(   r)   <module>   s    