File: //lib64/python3.6/lib2to3/__pycache__/fixer_util.cpython-36.opt-1.pyc
3
  \g;  �            
   @   s�  d Z ddlmZ ddlmZmZ ddlmZ ddl	m
Z
 dd� Zdd	� Zd
d� Z
dd
� ZdWdd�Zdd� Zdd� Zdd� Ze� e
� fdd�ZdXdd�Zdd� Zdd� ZdYdd �Zd!d"� ZdZd#d$�Zd[d%d&�Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd1d2d3d4d5d6d7d8d9d:h
Z d;d<� Z!d=a"d>a#d?a$d@a%dAdB� Z&dCdD� Z'dEdF� Z(dGdH� Z)dIdJ� Z*dKdL� Z+dMdN� Z,dOdP� Z-ej.ej/hZ0d\dQdR�Z1ej/ej.ej2hZ3dSdT� Z4d]dUdV�Z5dS )^z1Utility functions, node construction macros, etc.�   )�token)�Leaf�Node)�python_symbols)�patcompc             C   s   t tj| ttjd�|g�S )N�=)r   �symsZargumentr   r   �EQUAL)�keyword�value� r   �*/usr/lib64/python3.6/lib2to3/fixer_util.py�
KeywordArg   s    r   c               C   s   t tjd�S )N�()r   r   �LPARr   r   r   r
   �LParen   s    r   c               C   s   t tjd�S )N�))r   r   �RPARr   r   r   r
   �RParen   s    r   c             C   sH   t | t�s| g} t |t�s&d|_|g}ttj| ttjddd�g | �S )zBuild an assignment statement� r   )�prefix)	�
isinstance�listr   r   r   �atomr   r   r	   )�target�sourcer   r   r
   �Assign   s    
r   Nc             C   s   t tj| |d�S )zReturn a NAME leaf)r   )r   r   �NAME)�namer   r   r   r
   �Name$   s    r   c             C   s   | t tjt� |g�gS )zA node tuple for obj.attr)r   r   �trailer�Dot)�obj�attrr   r   r
   �Attr(   s    r$   c               C   s   t tjd�S )zA comma leaf�,)r   r   �COMMAr   r   r   r
   �Comma,   s    r'