Your IP : 3.142.130.127
o
6��ff; � @ s� d Z ddlmZ ddlmZmZ ddlmZ ddl m
Z
dd� Zdd � Zd
d� Z
dd
� ZdNdd�Zdd� Zdd� Zdd� Ze� e
� fdd�ZdOdd�Zdd� Zdd� ZdNdd �Zd!d"� ZdNd#d$�ZdNd%d&�Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zh d1�Z d2d3� Z!d4a"d5a#d6a$d7a%d8d9� Z&d:d;� Z'd<d=� Z(d>d?� Z)d@dA� Z*dBdC� Z+dDdE� Z,dFdG� Z-ej.ej/hZ0dNdHdI�Z1ej/ej.ej2hZ3dJdK� Z4dNdLdM�Z5dS )Pz1Utility 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 �9/opt/alt/python310/lib64/python3.10/lib2to3/fixer_util.py�
KeywordArg s �r c C � t tjd�S )N�()r r �LPARr r r r
�LParen � r c C r )N�))r r �RPARr r r r
�RParen r r c C sH t | t�s| g} t |t�sd|_|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 � t tj| |d�S )zReturn a NAME leafr )r r �NAME)�namer r r r
�Name$ � 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 r )zA comma leaf�,)r r �COMMAr r r r
�Comma, � r, c C r )zA period (.) leaf�.)r r �DOTr r r r
r&