Your IP : 13.59.54.188
�
�Q�ff; � � � d Z ddlmZ ddlmZmZ ddlmZ ddl m
Z
d� Zd� Zd� Z
d � Zd-d�Zd� Zd
� Zd� Z e� e
� fd�Zd.d�Zd� Zd� Zd-d�Zd� Zd-d�Zd-d�Zd� Zd� Zd� Zd� Zd� Zh d�Z d� Z!da"da#d a$d!a%d"� Z&d#� Z'd$� Z(d%� Z)d&� Z*d'� Z+d(� Z,d)� Z-ej\ ej^ hZ0d-d*�Z1ej^ ej\ ejd hZ3d+� Z4d-d,�Z5y
)/z1Utility functions, node construction macros, etc.� )�token)�Leaf�Node)�python_symbols)�patcompc �l � t t j | t t j
d� |g� S )N�=)r �syms�argumentr r �EQUAL)�keyword�values �9/opt/alt/python312/lib64/python3.12/lib2to3/fixer_util.py�
KeywordArgr s* � ���
�
��$�u�{�{�C�0�%�8�:� :� c �6 � t t j d� S )N�()r r �LPAR� r r �LParenr � � ���
�
�C� � r c �6 � t t j d� S )N�))r r �RPARr r r �RParenr r r c �� � t | t � s| g} t |t � s
d|_ |g}t t j
| t
t j dd�� gz |z � S )zBuild an assignment statement� r ��prefix) �
isinstance�listr r r
�atomr r r )�target�sources r �Assignr% s] � ��f�d�#�����f�d�#���
������ � ��$�u�{�{�C��<�=�=��F�H� Hr Nc �: � t t j | |�� S )zReturn a NAME leafr )r r �NAME)�namer s r �Namer) $ s � ���
�
�D��0�0r c �N � | t t j t � |g� gS )zA node tuple for obj.attr)r r
�trailer�Dot)�obj�attrs r �Attrr/ ( s � ���d�l�l�S�U�D�M�2�3�3r c �6 � t t j d� S )zA comma leaf�,)r r �COMMAr r r �Commar3 , s � �����S�!�!r c �6 � t t j d� S )zA period (.) leaf�.)r r �DOTr r r r, r, 0 s � ��� � �3��r c �� � t t j |j � |j � g� }| r*|j dt t j
| � � |S )z-A parenthesised argument list, used by Call()r )r r
r+ �clone�insert_child�arglist)�args�lparen�rparen�nodes r �ArgListr? 4 sF � �����v�|�|�~�v�|�|�~�>�?�D�����!�T�$�,�,��5�6��Kr c �b � t t j | t |� g� }|�||_ |S )zA function call)r r
�powerr? r )� func_namer; r r>