o
     JAf*	                     @   sP   	 d dl mZ d dlmZ d dl mZ d dlmZmZmZ G dd dej	Z
dS )   )pytree)token)
fixer_base)CallCommaparenthesizec                   @   s   e Zd ZdZdZdd ZdS )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}|r#|j| j jkr#|jd jdv r#d S |r6|j| j jkr6|jd jdkr6d S |j}| }|jtj	|j
fvrY|j|jksU|jd jtjkrYt|}d|_| }d|_|d urn| }d|_ttjd	|g}|d ur|t ttjd|g d
|d _t|||dS )Nfuncargskwds    >   ***r    r    )prefix)symsgettypeargumentchildrenvaluer   Zcloner   NAMEZatomZpower
DOUBLESTARr   r   ZLeafSTARextendr   r   )	selfZnoderesultsr   r	   r
   r   r   Z	l_newargs r   ./usr/lib/python3.10/lib2to3/fixes/fix_apply.py	transform   s>   

zFixApply.transformN)__name__
__module____qualname__ZBM_compatibleZPATTERNr!   r   r   r   r    r      s    r   N)r   r   Zpgen2r   r   Z
fixer_utilr   r   r   ZBaseFixr   r   r   r   r    <module>   s   