o
    QeÄ
  ã                   @   s0   d dl Z ddlmZ dd„ ZeeƒZee ƒZdS )é    Né   )Úgastc                    s   G ‡ fdd„dt jƒ}|S )Nc                       s    e Zd Zdd„ Z‡ fdd„ZdS )z)_generate_translators.<locals>.Translatorc                    s6   t |tƒr‡ fdd„|D ƒS t |tjƒrˆ  |¡S |S )Nc                    s   g | ]}ˆ   |¡‘qS © )Ú_visit)Ú.0Ún©Úselfr   úFD:\Projects\ConvertPro\env\Lib\site-packages\paddle/utils/gast/astn.pyÚ
<listcomp>*   s    zD_generate_translators.<locals>.Translator._visit.<locals>.<listcomp>)Ú
isinstanceÚlistÚastÚASTÚvisit)r	   Únoder   r   r
   r   (   s
   

z0_generate_translators.<locals>.Translator._visitc              	      sx   t |ƒj}tˆ |ƒsd S tˆ |ƒƒ }|jD ]}t|||  t||ƒ¡ƒ qt|dƒD ]}t||ƒr9t||t||ƒƒ q)|S )NÚ_attributes)ÚtypeÚ__name__ÚhasattrÚgetattrÚ_fieldsÚsetattrr   )r	   r   ÚclsÚnew_nodeÚfieldÚattr©Útor   r
   Úgeneric_visit0   s   



€z7_generate_translators.<locals>.Translator.generic_visitN)r   Ú
__module__Ú__qualname__r   r   r   r   r   r
   Ú
Translator&   s    r"   )r   ÚNodeTransformer)r   r"   r   r   r
   Ú_generate_translators$   s   r$   )r   Ú r   r$   Z	AstToGAstZ	GAstToAstr   r   r   r
   Ú<module>   s
   