3
\�/ � @ s� d dl T d dd�ZeeefZdd� Zd!d
d�Zdd
� Zdd� Z d"dd�Z
dd� Zdd� Zd#dd�Z
dd� ZG dd� de�ZG dd� de�ZdS )$� )�*� �execc C s t | ||t�S )N)�compileZ
PyCF_ONLY_AST)�source�filename�mode� r �/usr/lib64/python3.6/ast.py�parse s r c s: t | t�rt| dd�} t | t�r&| j} � fdd�� � | �S )N�eval)r c s� t | t�r| jS t | ttf�r$| jS t | t�r4| jS t | t�rNt t
� | j��S t | t�rht
t
� | j��S t | t�r�tt
� | j��S t | t�r�t� fdd�t| j| j�D ��S t | t�r�| jS t | t�o�t | jttf��r
� | j�}t |t��rrt | jt��r|
S | S nht | t��rrt | jttf��rr� | j�}� | j �}t |t��rrt |t��rrt | jt��rj|| S || S t!dt"| � ��d S )Nc 3 s" | ]\}}� |�� |�fV qd S )Nr )�.0�k�v)�_convertr r
� A s z1literal_eval.._convert..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% )r r r
r 3 s>
zliteral_eval.._convert)r �strr Z
Expression�body)Znode_or_stringr )r r
�literal_eval( s
"r+ TFc s2 � ��fdd�� t | t�s*td| jj ��� | �S )Nc s� t � t�r��fdd�t� �D �}d� jjdj�r>dd� |D �ndd� |D ��f }�r�� jr�||rfdphd7 }|dj�� fd d�� jD ��7 }|d
S t � t�r�ddj�fdd�� D �� S t� �S )
Nc s g | ]\}}|� |�f�qS r r )r
�a�b)�_formatr r
�
c s z)dump.._format..z%s(%sz, c s s | ]}d | V qdS )z%s=%sNr )r
�fieldr r r
r e s z(dump.._format..c s s | ]\}}|V qd S )Nr )r
r, r- r r r
r g s � c 3 s$ | ]}d |� t �|��f V qdS )z%s=%sN)�getattr)r
r, )r. r( r r
r k s �)z[%s]c 3 s | ]}� |�V qd S )Nr )r
�x)r. r r
r o s ) r �AST�iter_fields� __class__�__name__�join�_attributesr r' )r( Zfields�rv)r. �annotate_fields�include_attributes)r( r
r. a s
zdump.._formatzexpected AST, got %r)r r5 � TypeErrorr7 r8 )r( r<