ó
xFWgc           @   sI   d  Z  d d l m Z d d l m Z m Z d e j f d „  ƒ  YZ d S(   su   Fixer that addes parentheses where they are required

This converts ``[x for x in 1, 2]`` to ``[x for x in (1, 2)]``.i   (   t
   fixer_base(   t   LParent   RParent   FixParenc           B   s   e  Z e Z d  Z d „  Z RS(   s  
        atom< ('[' | '(')
            (listmaker< any
                comp_for<
                    'for' NAME 'in'
                    target=testlist_safe< any (',' any)+ [',']
                     >
                    [any]
                >
            >
            |
            testlist_gexp< any
                comp_for<
                    'for' NAME 'in'
                    target=testlist_safe< any (',' any)+ [',']
                     >
                    [any]
                >
            >)
        (']' | ')') >
    c         C   sL   | d } t  ƒ  } | j | _ d | _ | j d | ƒ | j t ƒ  ƒ d  S(   Nt   targetu    i    (   R   t   prefixt   insert_childt   append_childR   (   t   selft   nodet   resultsR   t   lparen(    (    s-   /usr/lib/python2.7/lib2to3/fixes/fix_paren.pyt	   transform%   s    
		(   t   __name__t
   __module__t   Truet   BM_compatiblet   PATTERNR   (    (    (    s-   /usr/lib/python2.7/lib2to3/fixes/fix_paren.pyR      s   N(   t   __doc__t    R    t
   fixer_utilR   R   t   BaseFixR   (    (    (    s-   /usr/lib/python2.7/lib2to3/fixes/fix_paren.pyt   <module>   s   