Your IP : 3.15.203.195
U
i�f* � @ sR d Z ddlmZ ddlmZ ddlmZ ddlmZmZm Z G dd� dej
�ZdS ) zIFixer for apply().
This converts apply(func, v, k) into (func)(*v, **k).� )�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 s4 | j }|st�|d }|d }|�d�}|rN|j| j jkrN|jd jdkrNd S |rt|j| j jkrt|jd jdkrtd S |j}|�� }|jt j
|jfkr�|j|jks�|jd jt j
kr�t|�}d|_|�� }d|_|d k r�|�� }d|_t�t jd �|g}|d k �r&|�t� t�t j
d�|g� d
|d _t|||d�S )N�func�args�kwds� > �**�*r
���� r � )�prefix)�syms�AssertionError�get�typeZargumentZchildren�valuer Zcloner �NAMEZatomZpower�
DOUBLESTARr r ZLeaf�STAR�extendr r ) �selfZnodeZresultsr r r
r r Z l_newargs� r �</opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_apply.py� transform sH
��
��
�
zFixApply.transformN)�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNr r r r r r s r N)�__doc__r r Zpgen2r r Z
fixer_utilr r r ZBaseFixr r r r r �<module> s