File: //opt/alt/python27/lib/python2.7/site-packages/libpasteurize/fixes/fix_unpacking.pyc
�
�A�[c @ s� d Z d d l m Z d d l m Z d d l m Z m Z m Z m Z m
Z
m Z m Z m
Z
m Z m Z d d l m Z m Z m Z d � Z d e j f d � � YZ d S(
uD
Fixer for:
(a,)* *b (,c)* [,] = s
for (a,)* *b (,c)* [,] in d: ...
i����( t
fixer_base( t count(
t Assignt Commat Callt Newlinet Namet Numbert tokent symst Nodet Leaf( t indentationt suitifyt commatizec C s� g } t | � } t | � } | d k r� t t j t | � t t j t t j d � t t j t t j
d � t | � g � t t j d � g � g � } | j
| � | j
t t j d d d �� n t t j t t j d d d �t | � t t j t t j d � t t j | d k r(t | � n t d d � t t j
d � | d k ryt t j t t j d
� t | � g � n t d d � g � t t j d � t t j d � g � g � } | j
| � | d k r�| j
t t j d d d �� t t j t | d d �t t j t t j d � t t j t t j t t j d
� t | � g � t t j
d � g � t t j d � g � g � } | j
| � n t t j | � }
|
S( u�
Accepts num_pre and num_post, which are counts of values
before and after the starg (not including the starg)
Returns a source fit for Assign() from fixer_util
i u [u :u ]u +t prefixu i u u -( t unicodeR
R t powerR t trailerR R t LSQBt subscriptt COLONR t RSQBt appendt PLUSt factort MINUSt
arith_expr( t num_pret num_postt LISTNAMEt ITERNAMEt childrent pret postt pre_partt main_partt post_partt source( ( sR /opt/alt/python27/lib/python2.7/site-packages/libpasteurize/fixes/fix_unpacking.pyt assignment_source s o
"�
�t FixUnpackingc B s) e Z d Z d � Z d � Z d � Z RS( u9
expl=expr_stmt< testlist_star_expr<
pre=(any ',')*
star_expr< '*' name=NAME >
post=(',' any)* [','] > '=' source=any > |
impl=for_stmt< 'for' lst=exprlist<
pre=(any ',')*
star_expr< '*' name=NAME >
post=(',' any)* [','] > 'in' it=any ':' suite=any>c sF � f d � d D� \ } } } } g | D]$ } | j t j k r) | j � ^ q) } d | _ g | D]$ } | j t j k rc | j � ^ qc } g t | | j � g | � D] } | j � ^ q� } | j t � � d | _ t t | j
� t t d � | j � g � � } t | t t
| � t
| � | j
| j � � }
| |
f S(
Nc 3 s | ] } � j | � Vq d S( N( t get( t .0t n( t results( sR /opt/alt/python27/lib/python2.7/site-packages/libpasteurize/fixes/fix_unpacking.pys <genexpr>3 s u preu nameu postu sourceu u u list( u preu nameu postu source( t typeR t NAMEt cloneR R R R R R R R R'