????
Your IP : 3.144.13.230
3
\�/�@s�ddlTd dd�ZeeefZdd�Zd!d
d�Zdd
�Zdd�Z d"dd�Z
dd�Zdd�Zd#dd�Z
dd�ZGdd�de�ZGdd�de�ZdS)$�)�*� <unknown>�execcCst|||t�S)N)�compileZ
PyCF_ONLY_AST)�source�filename�mode�r �/usr/lib64/python3.6/ast.py�parsesrcs:t|t�rt|dd�}t|t�r&|j}�fdd���|�S)N�eval)rcs�t|t�r|jSt|ttf�r$|jSt|t�r4|jSt|t�rNt t
�|j��St|t�rht
t
�|j��St|t�r�tt
�|j��St|t�r�t�fdd�t|j|j�D��St|t�r�|jSt|t�o�t|jttf��r
�|j�}t|t��rrt|jt��r|
S|Snht|t��rrt|jttf��rr�|j�}�|j �}t|t��rrt|t��rrt|jt��rj||S||St!dt"|���dS)Nc3s"|]\}}�|��|�fVqdS)Nr )�.0�k�v)�_convertr r
� <genexpr>Asz1literal_eval.<locals>._convert.<locals>.<genexpr>zmalformed node or string: )#�
isinstance�Constant�value�StrZBytes�sZNum�nZTuple�tuple�mapZeltsZList�list�Set�setZDict�dict�zip�keys�valuesZNameConstantZUnaryOp�opZUAddZUSub�operand�
_NUM_TYPESZBinOpZAddZSub�left�right�
ValueError�repr)�noder"r$r%)rr r
r3s>
zliteral_eval.<locals>._convert)r�strrZ
Expression�body)Znode_or_stringr )rr
�literal_eval(s
"r+TFcs2���fdd��t|t�s*td|jj���|�S)Ncs�t�t�r��fdd�t��D�}d�jjdj�r>dd�|D�ndd�|D��f}�r��jr�||rfdphd7}|dj��fd d��jD��7}|d
St�t�r�ddj�fdd��D��St��S)
Ncsg|]\}}|�|�f�qSr r )r
�a�b)�_formatr r
�
<listcomp>csz)dump.<locals>._format.<locals>.<listcomp>z%s(%sz, css|]}d|VqdS)z%s=%sNr )r
�fieldr r r
resz(dump.<locals>._format.<locals>.<genexpr>css|]\}}|VqdS)Nr )r
r,r-r r r
rgs� c3s$|]}d|�t�|��fVqdS)z%s=%sN)�getattr)r
r,)r.r(r r
rks�)z[%s]c3s|]}�|�VqdS)Nr )r
�x)r.r r
ros) r�AST�iter_fields� __class__�__name__�join�_attributesrr')r(Zfields�rv)r.�annotate_fields�include_attributes)r(r
r.as
zdump.<locals>._formatzexpected AST, got %r)rr5� TypeErrorr7r8)r(r<r=r )r.r<r=r
�dumpXs
r?cCsBx<dD]4}||jkr||jkrt||�rt||t||��qW|S)N�lineno�
col_offset)r@rA)r:�hasattr�setattrr2)�new_nodeZold_node�attrr r r
�
copy_locationvs
rFcs�fdd���|dd�|S)Ncsfd|jkr"t|d�s||_n|j}d|jkrDt|d�s>||_n|j}xt|�D]}�|||�qNWdS)Nr@rA)r:rBr@rA�iter_child_nodes)r(r@rA�child)�_fixr r
rI�s
z#fix_missing_locations.<locals>._fix�rr )r(r )rIr
�fix_missing_locations�s
rKrJcCs2x,t|�D] }d|jkr
t|dd�||_q
W|S)Nr@r)�walkr:r2r@)r(rrHr r r
�increment_lineno�s
rMccs>x8|jD].}y|t||�fVWqtk
r4YqXqWdS)N)�_fieldsr2�AttributeError)r(r0r r r
r6�s
r6ccsTxNt|�D]B\}}t|t�r$|Vq
t|t�r
x|D]}t|t�r4|Vq4Wq
WdS)N)r6rr5r)r(�namer0�itemr r r
rG�s
rGcCs�t|ttttf�s"td|jj��|jo6t|jdt �s<dS|jdj
}t|t�rZ|j}n"t|t
�rxt|j
t�rx|j
}ndS|r�ddl}|j|�}|S)Nz%r can't have docstringsr)rZAsyncFunctionDefZFunctionDefZClassDefZModuler>r7r8r*ZExprrrrrr)�inspectZcleandoc)r(Zclean�textrRr r r
�
get_docstring�s
rTccs@ddlm}||g�}x$|r:|j�}|jt|��|VqWdS)Nr)�deque)�collectionsrU�popleft�extendrG)r(rUZtodor r r
rL�s
rLc@seZdZdd�Zdd�ZdS)�NodeVisitorcCs"d|jj}t|||j�}||�S)NZvisit_)r7r8r2�
generic_visit)�selfr(�methodZvisitorr r r
�visit�szNodeVisitor.visitcCs\xVt|�D]J\}}t|t�r@x6|D]}t|t�r"|j|�q"Wq
t|t�r
|j|�q
WdS)N)r6rrr5r])r[r(r0rrQr r r
rZ�s
zNodeVisitor.generic_visitN)r8�
__module__�__qualname__r]rZr r r r
rY�srYc@seZdZdd�ZdS)�NodeTransformercCs�x�t|�D]�\}}t|t�r|g}xL|D]D}t|t�r`|j|�}|dkrJq&nt|t�s`|j|�q&|j|�q&W||dd�<q
t|t�r
|j|�}|dkr�t||�q
t|||�q
W|S)N) r6rrr5r]rX�append�delattrrC)r[r(r0Z old_valueZ
new_valuesrrDr r r
rZ.s&
zNodeTransformer.generic_visitN)r8r^r_rZr r r r
r`
s$r`N)rr)TF)rJ)T)Z_astr�int�float�complexr#r+r?rFrKrMr6rGrTrL�objectrYr`r r r r
�<module>s
0
%