Ñò
$8Zc           @   sO   d  Z  d d k l Z l Z d d k l Z l Z d e i f d „  ƒ  YZ d S(   s:   
Optional fixer to transform set() calls to set literals.
iÿÿÿÿ(   t
   fixer_baset   pytree(   t   tokent   symst   FixSetLiteralc           B   s   e  Z e Z d  Z d „  Z RS(   sj  power< 'set' trailer< '('
                     (atom=atom< '[' (items=listmaker< any ((',' any)* [',']) >
                                |
                                single=any) ']' >
                     |
                     atom< '(' items=testlist_gexp< any ((',' any)* [',']) > ')' >
                     )
                     ')' > >
              c   	      C   s  | i  d ƒ } | o5 t i t i | i ƒ  g ƒ } | i | ƒ | } n | d } t i t i	 d ƒ g } | i
 d „  | i Dƒ ƒ | i t i t i d ƒ ƒ | i i | d _ t i t i | ƒ } | i | _ t | i ƒ d j o. | i d } | i ƒ  | i | i d _ n | S(	   Nt   singlet   itemsu   {c         s   s   x |  ] } | i  ƒ  Vq Wd  S(   N(   t   clone(   t   .0t   n(    (    s3   /usr/lib/python2.6/lib2to3/fixes/fix_set_literal.pys	   <genexpr>&   s   	 u   }iÿÿÿÿi   i   (   t   getR   t   NodeR   t	   listmakerR   t   replacet   LeafR   t   LBRACEt   extendt   childrent   appendt   RBRACEt   next_siblingt   prefixt   dictsetmakert   lent   remove(	   t   selft   nodet   resultsR   t   fakeR   t   literalt   makerR	   (    (    s3   /usr/lib/python2.6/lib2to3/fixes/fix_set_literal.pyt	   transform   s"    


(   t   __name__t
   __module__t   Truet   explicitt   PATTERNR   (    (    (    s3   /usr/lib/python2.6/lib2to3/fixes/fix_set_literal.pyR      s   
N(	   t   __doc__t   lib2to3R    R   t   lib2to3.fixer_utilR   R   t   BaseFixR   (    (    (    s3   /usr/lib/python2.6/lib2to3/fixes/fix_set_literal.pyt   <module>   s   