관리-도구
편집 파일: fixer_util.cpython-312.opt-1.pyc
� �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>