
    daf                     R    d Z ddlmZmZ ddlmZmZ  G d dej                        Zy)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y)FixSetLiteralTaj  power< 'set' trailer< '('
                     (atom=atom< '[' (items=listmaker< any ((',' any)* [',']) >
                                |
                                single=any) ']' >
                     |
                     atom< '(' items=testlist_gexp< any ((',' any)* [',']) > ')' >
                     )
                     ')' > >
              c                    |j                  d      }|rGt        j                  t        j                  |j                         g      }|j                  |       |}n|d   }t        j                  t        j                  d      g}|j                  d |j                  D               |j                  t        j                  t        j                  d             |j                  j                  |d   _        t        j                  t        j                   |      }|j                  |_        t#        |j                        dk(  r=|j                  d   }|j%                          |j                  |j                  d   _        |S )	Nsingleitems{c              3   <   K   | ]  }|j                           y w)N)clone).0ns     8/root/Python-3.12.4/Lib/lib2to3/fixes/fix_set_literal.py	<genexpr>z*FixSetLiteral.transform.<locals>.<genexpr>'   s     9Qqwwy9s   }      )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 EG$E ;;u||S129%..99v{{5<<56"//66D--w7{{ u~~!#q!AHHJ()ENN2%     N)__name__
__module____qualname__BM_compatibleexplicitPATTERNr,    r-   r   r   r      s    MHGr-   r   N)	__doc__lib2to3r   r   lib2to3.fixer_utilr   r   BaseFixr   r4   r-   r   <module>r9      s$    ' *)J&& )r-   