ó v®¸Qc@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„|j Dƒƒ|j tjtj dƒƒ|jj|d_tjtj|ƒ}|j|_t|j ƒdkr|j d}|jƒ|j|j d_n|S( Ntsingletitemsu{css|]}|jƒVqdS(N(tclone(t.0tn((s3/sys/lib/python2.7/lib2to3/fixes/fix_set_literal.pys 'su}iÿÿÿÿii(tgetRtNodeRt listmakerRtreplacetLeafRtLBRACEtextendtchildrentappendtRBRACEt next_siblingtprefixt dictsetmakertlentremove( 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.pyR s N( t__doc__tlib2to3RRtlib2to3.fixer_utilRRtBaseFixR(((s3/sys/lib/python2.7/lib2to3/fixes/fix_set_literal.pyts