a
    Sicó7  ã                   @   s\   d dl mZmZ d dlZd dlZd dlZG dd„ deƒZG dd„ deƒZdd„ Zd	d
„ Z	dS )é    )Ú	AstToGAstÚ	GAstToAstNc                   @   sÐ   e Zd Zejjdk r$dd„ Zdd„ Zejjdk r dd„ Zd	d
„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zejjd)k rÌd*d+„ Zd,S )-Ú
Ast3ToGAsté	   c                 C   s(   t  |  |j¡t  ¡ ¡}t  ||¡ |S ©N)ÚgastÚTupleÚ_visitÚdimsÚLoadÚcopy_location©ÚselfÚnodeÚnew_node© r   úE/var/www/html/django/DPS/env/lib/python3.9/site-packages/gast/ast3.pyÚvisit_ExtSlice
   s    zAst3ToGAst.visit_ExtSlicec                 C   s   |   |j¡S r   )r	   Úvalue)r   r   r   r   r   Úvisit_Index   s    zAst3ToGAst.visit_Indexé   c                 C   s   t  |  |j¡g ¡}|S r   )r   ÚModuler	   Úbodyr   r   r   r   Úvisit_Module   s
    
þzAst3ToGAst.visit_Modulec                 C   s   t  |jd ¡}t  ||¡ |S r   )r   ÚConstantÚnr   r   r   r   r   Ú	visit_Num   s    þzAst3ToGAst.visit_Numc                 C   s(   t  td ¡}t  ||¡ d  |_|_|S r   )r   r   ÚEllipsisr   Ú
end_linenoÚend_col_offsetr   r   r   r   Úvisit_Ellipsis"   s    þzAst3ToGAst.visit_Ellipsisc                 C   s   t  |jd ¡}t  ||¡ |S r   ©r   r   Úsr   r   r   r   r   Ú	visit_Str+   s    þzAst3ToGAst.visit_Strc                 C   s   t  |jd ¡}t  ||¡ |S r   r!   r   r   r   r   Úvisit_Bytes3   s    þzAst3ToGAst.visit_Bytesc              	   C   sL   t  |  |j¡|  |j¡|  |j¡|  |j¡|  |j¡d ¡}t  ||¡ |S r   )	r   ÚFunctionDefr	   ÚnameÚargsr   Údecorator_listÚreturnsr   r   r   r   r   Úvisit_FunctionDef;   s    




úzAst3ToGAst.visit_FunctionDefc              	   C   sL   t  |  |j¡|  |j¡|  |j¡|  |j¡|  |j¡d ¡}t  ||¡ |S r   )	r   ÚAsyncFunctionDefr	   r&   r'   r   r(   r)   r   r   r   r   r   Úvisit_AsyncFunctionDefG   s    




úz!Ast3ToGAst.visit_AsyncFunctionDefc                 C   sB   t  |  |j¡|  |j¡|  |j¡|  |j¡d ¡}t  ||¡ |S r   )r   ÚForr	   ÚtargetÚiterr   Úorelser   r   r   r   r   Ú	visit_ForS   s    



ûzAst3ToGAst.visit_Forc                 C   sB   t  |  |j¡|  |j¡|  |j¡|  |j¡d ¡}t  ||¡ |S r   )r   ÚAsyncForr	   r.   r/   r   r0   r   r   r   r   r   Úvisit_AsyncFor^   s    



ûzAst3ToGAst.visit_AsyncForc                 C   s.   t  |  |j¡|  |j¡d ¡}t  ||¡ |S r   )r   ÚWithr	   Úitemsr   r   r   r   r   r   Ú
visit_Withi   s    

ýzAst3ToGAst.visit_Withc                 C   s.   t  |  |j¡|  |j¡d ¡}t  ||¡ |S r   )r   Ú	AsyncWithr	   r5   r   r   r   r   r   r   Úvisit_AsyncWithr   s    

ýzAst3ToGAst.visit_AsyncWithc                 C   s¾   t jjdk rx|jr>t |  |j¡t ¡ ¡}t ||¡ |g}ng }|j	rrt 
d |  |j	¡¡}t ||j	¡ |g}q€g }ng  }}t |  |j¡|  |j¡| |  |j¡| ¡}t ||¡ |S )Né   )ÚsysÚversion_infoÚminorÚstarargsr   ÚStarredr	   r   r   ÚkwargsÚkeywordÚCallÚfuncr'   Úkeywords)r   r   ZstarZstarredÚkwr?   r   r   r   r   Ú
visit_Call{   s*    ÿ
ýzAst3ToGAst.visit_Callc                 C   sV   |j d u rt d d ¡}n.|j du r0t dd ¡}n|j du rFt dd ¡}t ||¡ |S )NTF)r   r   r   r   r   r   r   r   Úvisit_NameConstant–   s    


zAst3ToGAst.visit_NameConstantc                 C   sV   t  |  |j¡g |  |j¡|  |j¡|  |j¡|  |j¡|  |j¡¡}t  	||¡ |S r   )
r   Ú	argumentsr	   r'   ÚvarargÚ
kwonlyargsÚkw_defaultsÚkwargÚdefaultsr   r   r   r   r   Úvisit_arguments    s    





ù	zAst3ToGAst.visit_argumentsc                 C   s0   t  |  |j¡|  |j¡d d ¡}t ||¡ |S r   )r   ÚNamer	   ÚidÚctxÚastr   r   r   r   r   Ú
visit_Name­   s    

üzAst3ToGAst.visit_Namec                 C   s\   t jjdk rd g}n|  |j¡g}tj|  |j¡t ¡ |  |j	¡g|¢R Ž }t
 ||¡ |S ©Nr   )r:   r;   r<   r	   Útype_commentr   rN   ÚargÚParamÚ
annotationrQ   r   ©r   r   Ú
extra_argsr   r   r   r   Ú	visit_arg·   s    

ýüzAst3ToGAst.visit_argc              	   C   sT   |j rFt |  |j¡t |j t ¡ d d ¡|  |j¡¡}t 	||¡ |S |  
|¡S d S r   )r&   r   ÚExceptHandlerr	   ÚtyperN   ÚStorer   rQ   r   Úgeneric_visitr   r   r   r   Úvisit_ExceptHandlerÆ   s    

ýzAst3ToGAst.visit_ExceptHandleré   c                 C   s6   t j|  |j¡|  |j¡|  |j¡dd}t ||¡S )Nr   )r.   r/   ÚifsÚis_async)r   Úcomprehensionr	   r.   r/   ra   rQ   r   r   r   r   r   Úvisit_comprehensionÓ   s    


üzAst3ToGAst.visit_comprehensionN)Ú__name__Ú
__module__Ú__qualname__r:   r;   r<   r   r   r   r   r    r#   r$   r*   r,   r1   r3   r6   r8   rE   rF   rM   rR   rZ   r_   rd   r   r   r   r   r      s.   			

r   c                   @   s¾   e Zd Zejjdk rdd„ Zejjdk r8dd„ Zdd„ Zd	d
„ Z	dd„ Z
dd„ Zejjdk rndd„ Zdd„ ZnDejjdk r²dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d„ Zd!d"„ Zd#S )$Ú
GAstToAst3r   c                    sÐ   dd„ ‰ t |jtjƒr„tdd„ |jjD ƒƒrPt ‡ fdd„|  |jj¡D ƒ¡}q”t |  |jj¡t 	¡ ¡}t 
||j¡ t |¡}nˆ |  |j¡ƒ}t 
||j¡ t |  |j¡||  |j¡¡}t 
||¡ |S )Nc                 S   s   t | tjƒr| S t | ¡S d S r   )Ú
isinstancerQ   ÚSliceÚIndex)r"   r   r   r   Úadjust_sliceà   s    z0GAstToAst3.visit_Subscript.<locals>.adjust_slicec                 s   s   | ]}t |tjƒV  qd S r   )ri   r   Úslice)Ú.0Úeltr   r   r   Ú	<genexpr>æ   ó    z-GAstToAst3.visit_Subscript.<locals>.<genexpr>c                    s   g | ]}ˆ |ƒ‘qS r   r   )rn   Úx©rl   r   r   Ú
<listcomp>è   rq   z.GAstToAst3.visit_Subscript.<locals>.<listcomp>)ri   rm   r   r   ÚanyÚeltsrQ   ÚExtSlicer	   r   r   rk   Ú	Subscriptr   rP   )r   r   Z	new_slicer   r   r   rs   r   Úvisit_Subscriptß   s(    
ÿÿ

ýzGAstToAst3.visit_Subscriptr   c                 C   s   t  |  |j¡¡}|S r   )rQ   r   r	   r   r   r   r   r   r   ü   s    zGAstToAst3.visit_Modulec                 C   sœ   |j d u rt |j ¡}nt|j tu r,t ¡ }n`t|j tƒrFt |j ¡}nFt|j tttfƒrft 	|j ¡}n&t|j t
ƒr€t |j ¡}nt |j ¡}t ||¡ |S r   )r   rQ   ÚNameConstantr   ri   ÚboolÚintÚfloatÚcomplexÚNumÚstrÚStrÚBytesr   r   r   r   r   Úvisit_Constant   s    


zGAstToAst3.visit_Constantc                 C   s^   |d u rd S t jjdk r tƒ }n|  |j¡f}tj|  |j¡|  |j	¡g|¢R Ž }t 
||¡S rS   )r:   r;   r<   Útupler	   rT   rQ   rU   rO   rW   r   rX   r   r   r   Ú	_make_arg  s    

þýzGAstToAst3._make_argc                 C   s,   t  |  |j¡|  |j¡¡}t  ||¡ |S r   )rQ   rN   r	   rO   rP   r   r   r   r   r   rR      s    

þzGAstToAst3.visit_Namec                 C   sB   |j r4t |  |j¡|j j|  |j¡¡}t ||¡S |  |¡S d S r   )	r&   rQ   r[   r	   r\   rO   r   r   r^   r   r   r   r   r_   (  s    

ýzGAstToAst3.visit_ExceptHandlerr9   c              	   C   s¼   |j r4t|j d tjƒr4|j d d… }|j d j}n
|j }d }|jrp|jd jd u rp|jd d… }|jd j}n
|j}d }t |  	|j
¡|  	|¡|  	|¡|  	|¡|  	|¡¡}t ||¡ |S )Néÿÿÿÿ)r'   ri   r   r>   r   rC   rU   rQ   rA   r	   rB   r   )r   r   r'   r=   rC   r?   r   r   r   r   rE   4  s&    
ûzGAstToAst3.visit_Callc              	   C   sV   |   |¡ tj|  |j¡|  |j¡|  |j¡|  |j¡|  |j¡d d d}t 	||¡S )N)r&   ÚbasesrC   r   r(   r=   r?   )
r^   rQ   ÚClassDefr	   r&   r‡   rC   r   r(   r   r   r   r   r   Úvisit_ClassDefM  s    





ù	zGAstToAst3.visit_ClassDefc              	   C   sJ   t  |  |j¡|  |j¡|  |j¡|  |j¡|  |j¡¡}t  ||¡ |S r   )	rQ   r%   r	   r&   r'   r   r(   r)   r   r   r   r   r   r*   \  s    




ûzGAstToAst3.visit_FunctionDefc              	   C   sJ   t  |  |j¡|  |j¡|  |j¡|  |j¡|  |j¡¡}t  ||¡ |S r   )	rQ   r+   r	   r&   r'   r   r(   r)   r   r   r   r   r   r,   g  s    




ûz!GAstToAst3.visit_AsyncFunctionDefc                 C   s@   t  |  |j¡|  |j¡|  |j¡|  |j¡¡}t  ||¡ |S r   )rQ   r-   r	   r.   r/   r   r0   r   r   r   r   r   r1   r  s    



üzGAstToAst3.visit_Forc                 C   sB   t  |  |j¡|  |j¡|  |j¡|  |j¡d ¡}t  ||¡ |S r   )rQ   r2   r	   r.   r/   r   r0   r   r   r   r   r   r3   |  s    



ûzGAstToAst3.visit_AsyncForc                 C   s,   t  |  |j¡|  |j¡¡}t  ||¡ |S r   )rQ   r4   r	   r5   r   r   r   r   r   r   r6   ‡  s    

þzGAstToAst3.visit_Withc                 C   s,   t  |  |j¡|  |j¡¡}t  ||¡ |S r   )rQ   r7   r	   r5   r   r   r   r   r   r   r8     s    

þzGAstToAst3.visit_AsyncWithc                 C   s6   t  |  |j¡|  |j¡|  |j¡¡}t  ||¡ |S r   )rQ   rA   r	   rB   r'   rC   r   r   r   r   r   rE   —  s    


ýc                    s¦   ˆ   |j¡‡ fdd„|jD ƒˆ  |j¡ˆ   |j¡ˆ  |j¡g}tjj	dkr€t
j‡ fdd„|jD ƒ‡ fdd„|jD ƒg|¢R Ž }n"t
j‡ fdd„|jD ƒg|¢R Ž }|S )Nc                    s   g | ]}ˆ   |¡‘qS r   ©r…   ©rn   r   ©r   r   r   rt   ¢  rq   z.GAstToAst3.visit_arguments.<locals>.<listcomp>r   c                    s   g | ]}ˆ   |¡‘qS r   rŠ   )rn   rU   rŒ   r   r   rt   ¨  rq   c                    s   g | ]}ˆ   |¡‘qS r   rŠ   r‹   rŒ   r   r   rt   ©  rq   c                    s   g | ]}ˆ   |¡‘qS r   rŠ   r‹   rŒ   r   r   rt   ®  rq   )r…   rH   rI   r	   rJ   rK   rL   r:   r;   r<   rQ   rG   Úposonlyargsr'   rX   r   rŒ   r   rM      s&    



üþý
ÿþzGAstToAst3.visit_argumentsN)re   rf   rg   r:   r;   r<   ry   r   rƒ   r…   rR   r_   rE   r‰   r*   r,   r1   r3   r6   r8   rM   r   r   r   r   rh   Ý   s(   


	rh   c                 C   s   t ƒ  | ¡S r   )r   Úvisit©r   r   r   r   Úast_to_gast´  s    r   c                 C   s   t ƒ  | ¡S r   )rh   rŽ   r   r   r   r   Úgast_to_ast¸  s    r‘   )
Z	gast.astnr   r   r   rQ   r:   r   rh   r   r‘   r   r   r   r   Ú<module>   s    W X