a
    w=icg0  ã                   @   sT   d dl mZm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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d#d$„ Zd%S )&Ú
Ast2ToGAstc                 C   s   t  |  |j¡g ¡}|S ©N)ÚgastÚModuleÚ_visitÚbody©ÚselfÚnodeÚnew_node© r   úZ/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/gast/ast2.pyÚvisit_Module	   s
    
þzAst2ToGAst.visit_Modulec                 C   sP   t  |  |j¡|  |j¡|  |j¡|  |j¡d d ¡}t  ||¡ d  |_|_	|S r   )
r   ÚFunctionDefr   ÚnameÚargsr	   Údecorator_listÚcopy_locationÚ
end_linenoÚend_col_offsetr
   r   r   r   Úvisit_FunctionDef   s    



úzAst2ToGAst.visit_FunctionDefc              	   C   sN   t  |  |j¡|  |j¡g |  |j¡|  |j¡¡}t  ||¡ d  |_|_	|S r   )
r   ÚClassDefr   r   Úbasesr	   r   r   r   r   r
   r   r   r   Úvisit_ClassDef   s    



ûzAst2ToGAst.visit_ClassDefc                 C   sN   t  |  |j¡|  |j¡|  |j¡|  |j¡g ¡}t  ||¡ d  |_|_	|S r   )
r   ÚForr   ÚtargetÚiterr	   Úorelser   r   r   r
   r   r   r   Ú	visit_For+   s    



ûzAst2ToGAst.visit_Forc                 C   sL   t  t  |  |j¡|  |j¡¡g|  |j¡d ¡}t  ||¡ d  |_|_	|S r   )
r   ÚWithÚwithitemr   Úcontext_exprÚoptional_varsr	   r   r   r   r
   r   r   r   Ú
visit_With7   s    

þ
úzAst2ToGAst.visit_Withc                 C   sÚ   |   |j¡}|   |j¡}|   |j¡}|}|d urXt ||gg ¡}t ||¡ d  |_|_|d ur²t 	|dt 
¡ ¡}t ||¡ d  |_|_t ||gg ¡}t ||¡ d  |_|_t |d ¡}t ||¡ d  |_|_|S )NÚwith_traceback)r   ÚtypeÚinstZtbackr   ÚCallr   r   r   Ú	AttributeÚLoadÚRaise)r   r   ÚntypeZninstZntbackÚwhatÚattrr   r   r   r   Úvisit_RaiseD   s.    ýzAst2ToGAst.visit_Raisec                 C   sD   t  |  |j¡|  |j¡|  |j¡g ¡}t  ||¡ d  |_|_|S r   )	r   ÚTryr   r	   Úhandlersr   r   r   r   r
   r   r   r   Úvisit_TryExceptc   s    


üzAst2ToGAst.visit_TryExceptc                 C   s<   t  |  |j¡g g |  |j¡¡}t  ||¡ d  |_|_|S r   )r   r1   r   r	   Ú	finalbodyr   r   r   r
   r   r   r   Úvisit_TryFinallyn   s    

üzAst2ToGAst.visit_TryFinallyc                 C   s<   t  |  |j¡|  |j¡d d ¡}t  ||¡ d  |_|_|S r   )r   ÚNamer   ÚidÚctxr   r   r   r
   r   r   r   Ú
visit_Name{   s    

üzAst2ToGAst.visit_Namec                 C   s*   t  |jd ¡}t  ||¡ d  |_|_|S r   )r   ÚConstantÚnr   r   r   r
   r   r   r   Ú	visit_Num†   s    þzAst2ToGAst.visit_Numc                 C   sF   |   |j¡}t |   |j¡||   |j¡¡}t ||¡ d  |_|_|S r   )	r   Úslicer   Ú	SubscriptÚvaluer8   r   r   r   ©r   r   Z	new_slicer   r   r   r   Úvisit_Subscript   s    

ýzAst2ToGAst.visit_Subscriptc                 C   s(   t  td ¡}t  ||¡ d  |_|_|S r   )r   r:   ÚEllipsisr   r   r   r
   r   r   r   Úvisit_Ellipsisš   s    þzAst2ToGAst.visit_Ellipsisc                 C   s   |   |j¡S r   )r   r?   )r   r   r   r   r   Úvisit_Index£   s    zAst2ToGAst.visit_Indexc                 C   s8   |   |j¡}t |t ¡ ¡}t ||¡ d  |_|_|S r   )r   Údimsr   ÚTupler+   r   r   r   )r   r   Znew_dimsr   r   r   r   Úvisit_ExtSlice¦   s
    zAst2ToGAst.visit_ExtSlicec                 C   s*   t  |jd ¡}t  ||¡ d  |_|_|S r   )r   r:   Úsr   r   r   r
   r   r   r   Ú	visit_Str­   s    þzAst2ToGAst.visit_Strc                 C   s®   |j r>t |  |j ¡t ¡ ¡}t ||¡ d  |_|_|g}ng }|jr`t 	d |  |j¡¡g}ng }t 
|  |j¡|  |j¡| |  |j¡| ¡}t ||¡ d  |_|_|S r   )Ústarargsr   ÚStarredr   r+   r   r   r   ÚkwargsÚkeywordr)   Úfuncr   Úkeywords)r   r   ÚstarZstarredrL   r   r   r   r   Ú
visit_Call¶   s"    
ýzAst2ToGAst.visit_Callc                 C   sF   t j|  |j¡|  |j¡|  |j¡dd}t  ||¡ d  |_|_|S )Nr   )r   r   ÚifsÚis_async)	r   Úcomprehensionr   r   r   rR   r   r   r   r
   r   r   r   Úvisit_comprehensionÍ   s    


üzAst2ToGAst.visit_comprehensionc                 C   s   |j rt |j t ¡ ¡}nd }|jr8t |jt ¡ ¡}nd }|j rVt |j t ¡ ¡}nd }t |  |j¡g |  |¡g g |  |¡|  |j	¡¡}|S r   )
ÚvarargÚastr6   ÚParamÚkwargr   Ú	argumentsr   r   Údefaults©r   r   rV   rY   r   r   r   r   Úvisit_argumentsÙ   s&    

ù	zAst2ToGAst.visit_argumentsN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r    r%   r0   r3   r5   r9   r<   rA   rC   rD   rG   rI   rQ   rU   r]   r   r   r   r   r      s$   			r   c                   @   st   e Z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S )Ú
GAstToAst2c                 C   s   t  |  |j¡¡}|S r   )rW   r   r   r	   r
   r   r   r   r   ù   s    zGAstToAst2.visit_Modulec                 C   sp   t  |  |j¡|  |j¡|  |j¡|  |j¡¡}|jjrHt  |jj|¡ |jj	r`t  |jj	|¡ t  ||¡ |S r   )
rW   r   r   r   r   r	   r   rV   r   rY   r
   r   r   r   r   þ   s    



üzGAstToAst2.visit_FunctionDefc                 C   s@   t  |  |j¡|  |j¡|  |j¡|  |j¡¡}t  ||¡ |S r   )rW   r   r   r   r   r	   r   r   r
   r   r   r   r     s    



üzGAstToAst2.visit_ClassDefc                 C   s@   t  |  |j¡|  |j¡|  |j¡|  |j¡¡}t  ||¡ |S r   )rW   r   r   r   r   r	   r   r   r
   r   r   r   r      s    



üzGAstToAst2.visit_Forc                 C   sB   t  |  |jd j¡|  |jd j¡|  |j¡¡}t  ||¡ |S )Nr   )rW   r!   r   Úitemsr#   r$   r	   r   r
   r   r   r   r%   $  s    
ýzGAstToAst2.visit_Withc                 C   s~   t |jtjƒrPt |jjtjƒrP|jjjdkrP|  |jjj¡}|  |jj	d ¡}n|  |j¡}d }t
 |d |¡}t
 ||¡ |S )Nr&   r   )Ú
isinstanceÚexcr   r)   rN   r*   r/   r   r?   r   rW   r,   r   )r   r   ÚraisedÚ	tracebackr   r   r   r   r0   -  s    ÿþzGAstToAst2.visit_Raisec                 C   sZ   |j r$t |  |j¡|  |j ¡¡}n&t |  |j¡|  |j¡|  |j¡¡}t ||¡ |S r   )	r4   rW   Z
TryFinallyr   r	   Z	TryExceptr2   r   r   r
   r   r   r   Ú	visit_Try:  s    

þ


ýzGAstToAst2.visit_Tryc                 C   s,   t  |  |j¡|  |j¡¡}t  ||¡ |S r   )rW   r6   r   r7   r8   r   r
   r   r   r   r9   K  s    

þzGAstToAst2.visit_Namec                 C   sT   t |jtttttfƒr$t |j¡}n |jt	u r8t 	¡ }nt 
|j¡}t ||¡ |S r   )rc   r?   ÚboolÚintÚlongÚfloatÚcomplexrW   ÚNumrB   ÚStrr   r
   r   r   r   Úvisit_ConstantS  s    

zGAstToAst2.visit_Constantc                    sŽ   dd„ ‰ t |jtjƒr6t ‡ ‡fdd„|jjD ƒ¡}nˆ ˆ |j¡ƒ}t ||j¡ t 	ˆ |j
¡|ˆ |j¡¡}t ||¡ d  |_|_|S )Nc                 S   s$   t | tjtjfƒr| S t | ¡S d S r   )rc   rW   ÚSlicerB   ÚIndex)rH   r   r   r   Úadjust_slice^  s    z0GAstToAst2.visit_Subscript.<locals>.adjust_slicec                    s   g | ]}ˆ ˆ  |¡ƒ‘qS r   )r   )Ú.0Úelt©rr   r   r   r   Ú
<listcomp>d  s   ÿz.GAstToAst2.visit_Subscript.<locals>.<listcomp>)rc   r=   r   rF   rW   ÚExtSliceÚeltsr   r   r>   r?   r8   r   r   r@   r   ru   r   rA   ]  s    ÿ


ýzGAstToAst2.visit_Subscriptc              	   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   rc   r   rK   r?   rO   ÚargrW   r)   r   rN   r   )r   r   r   rJ   rO   rL   r   r   r   r   rQ   s  s&    
ûzGAstToAst2.visit_Callc                 C   s"   t  |jt  ¡ ¡}t  ||¡ |S r   )rW   r6   rz   rX   r   r
   r   r   r   Ú	visit_argŒ  s    zGAstToAst2.visit_argc                 C   sL   |j o|j j}|jo|jj}t |  |j¡|  |¡|  |¡|  |j¡¡}|S r   )rV   r7   rY   rW   rZ   r   r   r[   r\   r   r   r   r]   ’  s    

üzGAstToAst2.visit_argumentsN)r^   r_   r`   r   r   r   r    r%   r0   rg   r9   ro   rA   rQ   r{   r]   r   r   r   r   ra   ö   s   	
ra   c                 C   s   t ƒ  | ¡S r   )r   Úvisit©r   r   r   r   Úast_to_gastŸ  s    r~   c                 C   s   t ƒ  | ¡S r   )ra   r|   r}   r   r   r   Úgast_to_ast£  s    r   )	Zastnr   r   rW   r   r   ra   r~   r   r   r   r   r   Ú<module>   s    q *