î i f¡ã@sOdZddlmZmZddlmZmZGdd„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|jdƒ}|rItjtj|jƒgƒ}|j|ƒ|}n |d}tjtj dƒg}|j dd„|j Dƒƒ|j tjtj dƒƒ|jj|d _tjtj|ƒ}|j|_t|j ƒdkr|j d }|jƒ|j|j d _n|S) NÚsingleÚitemsú{css|]}|jƒVqdS)N)Úclone)Ú.0Ún©r úB/opt/alt/python34/lib64/python3.4/lib2to3/fixes/fix_set_literal.pyú 'sz*FixSetLiteral.transform..ú}ééééÿÿÿÿr)ÚgetrZNoderZ listmakerr ÚreplaceZLeafrÚLBRACEÚextendZchildrenÚappendÚRBRACEZ next_siblingÚprefixZ dictsetmakerÚlenÚremove) ÚselfZnodeZresultsrZfakerÚliteralZmakerr r r rÚ transforms"      zFixSetLiteral.transformN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleZexplicitZPATTERNr r r r rr s  rN) Ú__doc__Zlib2to3rrZlib2to3.fixer_utilrrZBaseFixrr r r rÚs