
     YHh                     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e      Zy	)
   )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y)AutoTestDictTransform)	__cinit____dealloc____richcmp____nonzero____bool____len____contains__c           	         |j                   r|S d| _        || _        | j                  d   s|S | j                  d   | _        | j                  xs | j                  d   | _        t        |j                  t              sJ d|j                  j                  v r|S |j                  }g | _        |j                  | _        |j                  j                  t        d      t         |d      }t#        |t%        |t        d      |      t'        || j                  	      
      }| j)                  |       |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        _/var/www/html/planif/env/lib/python3.12/site-packages/Cython/Compiler/AnalysedTreeTransforms.pyvisit_ModuleNodez&AutoTestDictTransform.visit_ModuleNode   s1   ;;K"&&~6K"556HI#22bd6M6MNa6b$))\222 +++Khh
**00z1J1?14<D 1 F ';3=#<.0djj9';# 	4 		:;    c                     | j                   }t        | d|d   dd      }t        ||      }t        ||      }| j                  j	                  t        |||             y )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[    mm$wwqz!nA>?#V,Cw/

,s5ABr:   c                     |S )N )r4   r5   s     r8   visit_ExprNodez$AutoTestDictTransform.visit_ExprNode9   s	     r:   c                 l   |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                  }ni| j                  dv rXt        |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"                        r]|j                  j                  j                  }|d|j                  j                  j                  d|j                  j                  }n|d|j                  j                  }nJ | 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   xxJtW5$:L:LK##$-dll""uDHH'<Kmm??h&::??D__ 55$-<<+<<,,D::??Dyy(*tt7G7G/G)+!__11
!__77
$****F,@,@A'+zz'7'7'<'<$%/1A1A1F1F%)ZZ__6 #-djjoo>5dhhdhh/r:   N)__name__
__module____qualname__rO   r9   rD   rG   rS   rF   r:   r8   r   r      s    .K!F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 D D & ) Y2 Yr:   