U
��,a��@s:dZddlmZmZddlmZmZGdd�dej�ZdS)z:
Optional fixer to transform set() calls to set literals.
�)�
fixer_base�pytree)�token�symsc@s eZdZdZdZdZdd�ZdS)�
FixSetLiteralTajpower< 'set' trailer< '('
(atom=atom< '[' (items=listmaker< any ((',' any)* [',']) >
|
single=any) ']' >
|
atom< '(' items=testlist_gexp< any ((',' any)* [',']) > ')' >
)
')' > >
c Cs�|�d�}|r2t�tj|��g�}|�|�|}n|d}t�tj d�g}|�
dd�|jD��|�t�tj
d��|jj|d_t�tj|�}|j|_t|j�dkr�|jd }|��|j|jd_|S)
N�single�items�{css|]}|��VqdS)N)�clone)�.0�n�r
�B/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_set_literal.py� <genexpr>'sz*FixSetLiteral.transform.<locals>.<genexpr>�}�����)�getrZNoderZ listmakerr
�replaceZLeafr�LBRACE�extendZchildren�append�RBRACEZnext_sibling�prefixZdictsetmaker�len�remove) �selfZnodeZresultsrZfaker�literalZmakerrr
r
r� transforms"
zFixSetLiteral.transformN)�__name__�
__module__�__qualname__Z
BM_compatibleZexplicitZPATTERNrr
r
r
rrs
rN) �__doc__Zlib2to3rrZlib2to3.fixer_utilrrZBaseFixrr
r
r
r�<module>s |