
    ZQd                     P    d Z ddlmZmZ ddlmZmZ  G d dej                  ZdS )z:
Optional fixer to transform set() calls to set literals.
    )
fixer_basepytree)tokensymsc                        e Zd ZdZdZdZd ZdS )FixSetLiteralTaj  power< 'set' trailer< '('
                     (atom=atom< '[' (items=listmaker< any ((',' any)* [',']) >
                                |
                                single=any) ']' >
                     |
                     atom< '(' items=testlist_gexp< any ((',' any)* [',']) > ')' >
                     )
                     ')' > >
              c                    |                     d          }|rJt          j        t          j        |                                g          }|                    |           |}n|d         }t          j        t          j	        d          g}|
                    d |j        D                        |                    t          j        t          j        d                     |j        j        |d         _        t          j        t          j        |          }|j        |_        t#          |j                  dk    r8|j        d         }|                                 |j        |j        d         _        |S )	Nsingleitems{c              3   >   K   | ]}|                                 V  d S )N)clone).0ns     4/usr/lib/python3.11/lib2to3/fixes/fix_set_literal.py	<genexpr>z*FixSetLiteral.transform.<locals>.<genexpr>'   s*      99Qqwwyy999999    }      )getr   Noder   	listmakerr   replaceLeafr   LBRACEextendchildrenappendRBRACEnext_siblingprefixdictsetmakerlenremove)	selfnoderesultsr
   faker   literalmakerr   s	            r   	transformzFixSetLiteral.transform   s.   X&& 	%;t~/?@@DNN4   EEG$E ;u|S11299%.999999v{5<55666"/6D-w77{ u~!##q!AHHJJJ()EN2% r   N)__name__
__module____qualname__BM_compatibleexplicitPATTERNr-    r   r   r   r      s4        MHG    r   r   N)	__doc__lib2to3r   r   lib2to3.fixer_utilr   r   BaseFixr   r4   r   r   <module>r9      sx     ' & & & & & & & * * * * * * * *) ) ) ) )J& ) ) ) ) )r   