o
    ³2úh{C  ã                   @   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ejjdk r dd„ Z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 rtd/d0„ Zdejj  kr€d1k rn d4S d2d„ Zd3d„ Zd4S d4S )5Ú
Ast3ToGAsté
   c                 C   s8   t  |  |j¡|  |j¡¡}d  |_|_d  |_|_|S ©N)	ÚgastÚaliasÚ_visitÚnameÚasnameÚlinenoÚ
col_offsetÚ
end_linenoÚend_col_offset©ÚselfÚnodeÚnew_node© r   úD/var/www/html/chatgem/venv/lib/python3.10/site-packages/gast/ast3.pyÚvisit_alias
   s   

þzAst3ToGAst.visit_aliasé	   c                 C   s$   t  |  |j¡t  ¡ ¡}t  ||¡S r   )r   ÚTupler	   ÚdimsÚLoadÚcopy_locationr   r   r   r   Úvisit_ExtSlice   s   zAst3ToGAst.visit_ExtSlicec                 C   s   |   |j¡S r   )r	   Úvalue)r   r   r   r   r   Úvisit_Index   ó   zAst3ToGAst.visit_Indexc                 C   s:   t  |  |j¡|  |j¡d ¡}t  ||¡ d  |_|_|S r   )r   ÚAssignr	   Útargetsr   r   r   r   r   r   r   r   Úvisit_Assign   s   

ýzAst3ToGAst.visit_Assigné   c                 C   s   t  |  |j¡g ¡}|S r   )r   ÚModuler	   Úbodyr   r   r   r   Úvisit_Module(   s
   
þzAst3ToGAst.visit_Modulec                 C   ó   t  |jd ¡}t  ||¡S r   )r   ÚConstantÚnr   r   r   r   r   Ú	visit_Num/   ó
   þzAst3ToGAst.visit_Numc                 C   s(   t  td ¡}t  ||¡ d  |_|_|S r   )r   r(   ÚEllipsisr   r   r   r   r   r   r   Úvisit_Ellipsis6   s   þzAst3ToGAst.visit_Ellipsisc                 C   r'   r   ©r   r(   Úsr   r   r   r   r   Ú	visit_Str?   r+   zAst3ToGAst.visit_Strc                 C   r'   r   r.   r   r   r   r   Úvisit_BytesF   r+   zAst3ToGAst.visit_Bytesc              	   C   óJ   t  |  |j¡|  |j¡|  |j¡|  |j¡|  |j¡d g ¡}t  ||¡S r   )	r   ÚFunctionDefr	   r
   Úargsr%   Údecorator_listÚreturnsr   r   r   r   r   Úvisit_FunctionDefM   ó   




ù	zAst3ToGAst.visit_FunctionDefc              	   C   r2   r   )	r   ÚAsyncFunctionDefr	   r
   r4   r%   r5   r6   r   r   r   r   r   Úvisit_AsyncFunctionDefY   r8   z!Ast3ToGAst.visit_AsyncFunctionDefc                 C   ó>   t  |  |j¡|  |j¡|  |j¡|  |j¡d ¡}t  ||¡S r   )r   ÚForr	   ÚtargetÚiterr%   Úorelser   r   r   r   r   Ú	visit_Fore   ó   



ûzAst3ToGAst.visit_Forc                 C   r;   r   )r   ÚAsyncForr	   r=   r>   r%   r?   r   r   r   r   r   Úvisit_AsyncForo   rA   zAst3ToGAst.visit_AsyncForc                 C   ó*   t  |  |j¡|  |j¡d ¡}t  ||¡S r   )r   ÚWithr	   Úitemsr%   r   r   r   r   r   Ú
visit_Withy   ó   

ýzAst3ToGAst.visit_Withc                 C   rD   r   )r   Ú	AsyncWithr	   rF   r%   r   r   r   r   r   Úvisit_AsyncWith   rH   zAst3ToGAst.visit_AsyncWithc                 C   sº   t jjdk r<|jrt |  |j¡t ¡ ¡}t ||¡ |g}ng }|j	r9t 
d |  |j	¡¡}t ||j	¡ |g}ng }ng  }}t |  |j¡|  |j¡| |  |j¡| ¡}t ||¡S )Né   )ÚsysÚversion_infoÚminorÚstarargsr   ÚStarredr	   r   r   ÚkwargsÚkeywordÚCallÚfuncr4   Úkeywords)r   r   ÚstarÚstarredÚkwrQ   r   r   r   r   Ú
visit_Call‰   s(   ÿ
ýzAst3ToGAst.visit_Callc                 C   sR   |j d u rt d d ¡}n|j du rt dd ¡}n|j du r#t dd ¡}t ||¡S )NTF)r   r   r(   r   r   r   r   r   Úvisit_NameConstant£   s   


zAst3ToGAst.visit_NameConstantc                 C   sR   t  |  |j¡g |  |j¡|  |j¡|  |j¡|  |j¡|  |j¡¡}t  	||¡S r   )
r   Ú	argumentsr	   r4   ÚvarargÚ
kwonlyargsÚkw_defaultsÚkwargÚdefaultsr   r   r   r   r   Úvisit_arguments¬   s   





ù	zAst3ToGAst.visit_argumentsc                 C   s&   t  |j|  |j¡d d ¡}t ||¡S r   )r   ÚNameÚidr	   ÚctxÚastr   r   r   r   r   Ú
visit_Name¸   s   
üzAst3ToGAst.visit_Namec                 C   sH   t jjdk r	d }n|  |j¡}t |jt ¡ |  |j	¡|¡}t
 ||¡S ©Nr#   )rL   rM   rN   r	   Útype_commentr   rb   ÚargÚParamÚ
annotationre   r   )r   r   Ú	extra_argr   r   r   r   Ú	visit_argÁ   s   
üzAst3ToGAst.visit_argc              	   C   sL   |j r!t |  |j¡t |j t ¡ d d ¡|  |j¡¡}t 	||¡S |  
|¡S r   )r
   r   ÚExceptHandlerr	   Útyperb   ÚStorer%   re   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>   rt   re   r   r   r   r   r   Úvisit_comprehensionÛ   s   


üzAst3ToGAst.visit_comprehensioné   c              
   C   óR   t  |  |j¡|  |j¡|  |j¡|  |j¡|  |j¡|  |j¡g ¡}t  	||¡S r   )
r   r3   r	   r
   r4   r%   r5   r6   rh   r   r   r   r   r   r7   å   ó   





ù	c              
   C   ry   r   )
r   r9   r	   r
   r4   r%   r5   r6   rh   r   r   r   r   r   r:   ñ   rz   N)Ú__name__Ú
__module__Ú__qualname__rL   rM   rN   r   r   r   r"   r&   r*   r-   r0   r1   r7   r:   r@   rC   rG   rJ   rY   rZ   ra   rf   rm   rr   rw   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 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ejjdk rEdd„ Zdd„ Zn"ejjd	k rgdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d„ Zdejj  krsd&k ryn nd'd„ Zd	ejj  kr…d&k rn nd(d„ Zd)d„ Zd*d+„ Zd,S )-Ú
GAstToAst3r   c                 C   s    t  |  |j¡|  |j¡¡}|S r   )re   r   r	   r
   r   r   r   r   r   r      s
   

þzGAstToAst3.visit_aliasr   c                    sÌ   dd„ ‰ t |jtjƒrBtdd„ |jjD ƒƒr(t ‡ fdd„|  |jj¡D ƒ¡}n"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 r   )Ú
isinstancere   Ú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   )r   r   Úslice)Ú.0Úeltr   r   r   Ú	<genexpr>  s   € z-GAstToAst3.visit_Subscript.<locals>.<genexpr>c                    s   g | ]}ˆ |ƒ‘qS r   r   )r„   Úx©r‚   r   r   Ú
<listcomp>  s    z.GAstToAst3.visit_Subscript.<locals>.<listcomp>)r   rƒ   r   r   ÚanyÚeltsre   ÚExtSlicer	   r   r   r   Ú	Subscriptr   rd   )r   r   Ú	new_slicer   r   r   rˆ   r   Úvisit_Subscript  s&   
ÿÿ

ýzGAstToAst3.visit_Subscriptc                 C   ó(   t  |  |j¡|  |j¡¡}t  ||¡S r   )re   r    r	   r!   r   r   r   r   r   r   r"   "  s
   

þzGAstToAst3.visit_Assignr#   c                 C   s   t  |  |j¡¡}|S r   )re   r$   r	   r%   r   r   r   r   r&   ,  s   zGAstToAst3.visit_Modulec                 C   s˜   |j d u rt |j ¡}n:|j tu rt ¡ }n0t|j tƒr#t |j ¡}n#t|j tttfƒr3t 	|j ¡}nt|j t
ƒr@t |j ¡}nt |j ¡}t ||¡S r   )r   re   ÚNameConstantr,   r   ÚboolÚintÚfloatÚcomplexÚNumÚstrÚStrÚBytesr   r   r   r   r   Úvisit_Constant0  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 rg   )rL   rM   rN   Útupler	   rh   re   ri   rc   rk   r   ©r   r   Ú
extra_argsr   r   r   r   Ú	_make_arg?  s   

þýzGAstToAst3._make_argc                 C   r   r   )re   rb   r	   rc   rd   r   r   r   r   r   rf   O  ó
   

þzGAstToAst3.visit_Namec                 C   s>   |j rt |  |j¡|j j|  |j¡¡}t ||¡S |  |¡S r   )	r
   re   rn   r	   ro   rc   r%   r   rq   r   r   r   r   rr   V  s   

ý
zGAstToAst3.visit_ExceptHandlerrK   c              	   C   s¸   |j rt|j d tjƒr|j d d… }|j d j}n|j }d }|jr8|jd jd u r8|jd d… }|jd j}n|j}d }t |  	|j
¡|  	|¡|  	|¡|  	|¡|  	|¡¡}t ||¡S )Néÿÿÿÿ)r4   r   r   rP   r   rU   ri   re   rS   r	   rT   r   )r   r   r4   rO   rU   rQ   r   r   r   r   rY   b  s$   
ûzGAstToAst3.visit_Callc              	   C   sV   |   |¡ tj|  |j¡|  |j¡|  |j¡|  |j¡|  |j¡d d d}t 	||¡S )N)r
   ÚbasesrU   r%   r5   rO   rQ   )
rq   re   ÚClassDefr	   r
   r¡   rU   r%   r5   r   r   r   r   r   Úvisit_ClassDefz  s   





ù	zGAstToAst3.visit_ClassDefc              	   C   óF   t  |  |j¡|  |j¡|  |j¡|  |j¡|  |j¡¡}t  ||¡S r   )	re   r3   r	   r
   r4   r%   r5   r6   r   r   r   r   r   r7   ‰  ó   




ûzGAstToAst3.visit_FunctionDefc              	   C   r¤   r   )	re   r9   r	   r
   r4   r%   r5   r6   r   r   r   r   r   r:   “  r¥   z!GAstToAst3.visit_AsyncFunctionDefc                 C   s<   t  |  |j¡|  |j¡|  |j¡|  |j¡¡}t  ||¡S r   )re   r<   r	   r=   r>   r%   r?   r   r   r   r   r   r@     s   



üzGAstToAst3.visit_Forc                 C   r;   r   )re   rB   r	   r=   r>   r%   r?   r   r   r   r   r   rC   ¦  rA   zGAstToAst3.visit_AsyncForc                 C   r   r   )re   rE   r	   rF   r%   r   r   r   r   r   rG   °  rŸ   zGAstToAst3.visit_Withc                 C   r   r   )re   rI   r	   rF   r%   r   r   r   r   r   rJ   ·  rŸ   zGAstToAst3.visit_AsyncWithc                 C   s2   t  |  |j¡|  |j¡|  |j¡¡}t  ||¡S r   )re   rS   r	   rT   r4   rU   r   r   r   r   r   rY   ¾  s   


ýrx   c              	   C   r¤   r   )	re   r¢   r	   r
   r¡   rU   r%   r5   r   r   r   r   r   r£   Æ  r¥   c              
   C   óP   t  |  |j¡|  |j¡|  |j¡|  |j¡|  |j¡|  |j¡¡}t  	||¡S r   )
re   r3   r	   r
   r4   r%   r5   r6   rh   r   r   r   r   r   r7   Ñ  ó   





úc              
   C   r¦   r   )
re   r9   r	   r
   r4   r%   r5   r6   rh   r   r   r   r   r   r:   Ü  r§   c                    s¨   ˆ   |j¡‡ fdd„|jD ƒˆ  |j¡ˆ   |j¡ˆ  |j¡g}tjj	dkrAt
j‡ fdd„|jD ƒ‡ fdd„|jD ƒg|¢R Ž }|S t
j‡ fdd„|jD ƒg|¢R Ž }|S )Nc                    ó   g | ]}ˆ   |¡‘qS r   ©rž   ©r„   r)   ©r   r   r   r‰   ë  ó    z.GAstToAst3.visit_arguments.<locals>.<listcomp>r#   c                    r¨   r   r©   )r„   ri   r«   r   r   r‰   ñ  r¬   c                    r¨   r   r©   rª   r«   r   r   r‰   ò  r¬   c                    r¨   r   r©   rª   r«   r   r   r‰   ÷  r¬   )rž   r\   r]   r	   r^   r_   r`   rL   rM   rN   re   r[   Úposonlyargsr4   rœ   r   r«   r   ra   é  s(   



üþý
üÿþzGAstToAst3.visit_argumentsN)r{   r|   r}   rL   rM   rN   r   r   r"   r&   rš   rž   rf   rr   rY   r£   r7   r:   r@   rC   rG   rJ   ra   r   r   r   r   r~   þ   s:    



	

r~   c                 C   ó   t ƒ  | ¡S r   )r   Úvisit©r   r   r   r   Úast_to_gastý  r   r±   c                 C   r®   r   )r~   r¯   r°   r   r   r   Úgast_to_ast  r   r²   )
Ú	gast.astnr   r   r   re   rL   r   r~   r±   r²   r   r   r   r   Ú<module>   s     x  