B
    Ç S]Ó  ã               @   s6   d Z ddlmZ ddlmZmZ G dd„ dejƒZdS )z/Fixer for intern().

intern(s) -> sys.intern(s)é   )Ú
fixer_base)ÚImportAndCallÚtouch_importc               @   s    e Zd ZdZdZdZdd„ ZdS )Ú	FixInternTZprezÿ
    power< 'intern'
           trailer< lpar='('
                    ( not(arglist | argument<any '=' any>) obj=any
                      | obj=arglist<(not argument<any '=' any>) any ','> )
                    rpar=')' >
           after=any*
    >
    c             C   sd   |rD|d }|rD|j | jjkr"d S |j | jjkrD|jd jdkrDd S d}t|||ƒ}td d|ƒ |S )NÚobjé    z**)ÚsysÚinternr   )ÚtypeZsymsZ	star_exprZargumentZchildrenÚvaluer   r   )ÚselfZnodeZresultsr   ÚnamesÚnew© r   ú)lib/python3.7/lib2to3/fixes/fix_intern.pyÚ	transform   s    zFixIntern.transformN)Ú__name__Ú
__module__Ú__qualname__ZBM_compatibleÚorderZPATTERNr   r   r   r   r   r      s   
r   N)Ú__doc__Ú r   Z
fixer_utilr   r   ZBaseFixr   r   r   r   r   Ú<module>   s   