File: //lib64/python3.9/lib2to3/fixes/__pycache__/fix_apply.cpython-39.opt-2.pyc
a
    �DOg*	  �                   @   sN   d dl mZ d dlmZ d dl mZ d dlmZmZmZ G dd� dej	�Z
dS )�   )�pytree)�token)�
fixer_base)�Call�Comma�parenthesizec                   @   s   e Zd ZdZdZdd� ZdS )�FixApplyTa.  
    power< 'apply'
        trailer<
            '('
            arglist<
                (not argument<NAME '=' any>) func=any ','
                (not argument<NAME '=' any>) args=any [','
                (not argument<NAME '=' any>) kwds=any] [',']
            >
            ')'
        >
    >
    c           	      C   s,  | j }|d }|d }|�d�}|rF|j| j jkrF|jd jdv rFd S |rl|j| j jkrl|jd jdkrld S |j}|�� }|jtj	|j
fvr�|j|jks�|jd jtjkr�t
|�}d|_|�� }d|_|d ur�|�� }d|_t�tjd	�|g}|d u�r|�t� t�tjd�|g� d
|d _t|||d�S )N�func�args�kwds�    >   �*�**r   ���� r
   � )�prefix)�syms�get�type�argumentZchildren�valuer   Zcloner   �NAMEZatomZpower�
DOUBLESTARr   r   ZLeaf�STAR�extendr   r   )	�selfZnode�resultsr   r	   r
   r   r   Z	l_newargs� r   �//usr/lib64/python3.9/lib2to3/fixes/fix_apply.py�	transform   sF    
��
��
�
zFixApply.transformN)�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNr    r   r   r   r   r      s   r   N)r   r   Zpgen2r   r   Z
fixer_utilr   r   r   ZBaseFixr   r   r   r   r   �<module>	   s