�`^c@sOdZddlmZmZddlmZmZdejfd��YZdS(s:
Optional fixer to transform set() calls to set literals.
i�(t
fixer_basetpytree(ttokentsymst
FixSetLiteralcBs#eZeZeZdZd�ZRS(sjpower< 'set' trailer< '('
(atom=atom< '[' (items=listmaker< any ((',' any)* [',']) >
|
single=any) ']' >
|
atom< '(' items=testlist_gexp< any ((',' any)* [',']) > ')' >
)
')' > >
c Cs|jd�}|rItjtj|j�g�}|j|�|}n
|d}tjtj d�g}|j
d�|jD��|jtjtj
d��|jj|d_tjtj|�}|j|_t|j�dkr|jd}|j�|j|jd_n|S( Ntsingletitemsu{css|]}|j�VqdS(N(tclone(t.0tn((s3/sys/lib/python2.7/lib2to3/fixes/fix_set_literal.pys <genexpr>'su}i�ii(tgetRtNodeRt listmakerRtreplacetLeafRtLBRACEtextendtchildrentappendtRBRACEtnext_siblingtprefixtdictsetmakertlentremove( tselftnodetresultsRtfakeRtliteraltmakerR ((s3/sys/lib/python2.7/lib2to3/fixes/fix_set_literal.pyt transforms"
(t__name__t
__module__tTruet
BM_compatibletexplicittPATTERNR(((s3/sys/lib/python2.7/lib2to3/fixes/fix_set_literal.pyRs
N( t__doc__tlib2to3RRtlib2to3.fixer_utilRRtBaseFixR(((s3/sys/lib/python2.7/lib2to3/fixes/fix_set_literal.pyt<module>s
|