Edit File: fix_tuple_params.pyc
� ��7ec�����������@���s����d��Z��d�d�l�m�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�d����Z �d�e�j�f�d�������YZ�d ����Z�d ����Z�g��d �d���Z�d����Z�d �S(���s:��Fixer for function definitions with tuple parameters. def func(((a, b), c), d): ... -> def func(x, d): ((a, b), c) = x ... It will also support lambdas: lambda (x, y): x + y -> lambda t: t[0] + t[1] # The parens are a syntax error in Python 3 lambda (x): x + y -> lambda x: x + y i���(���t���pytree(���t���token(���t ���fixer_base(���t���Assignt���Namet���Newlinet���Numbert ���Subscriptt���symsc���������C���s)���t��|��t�j���o(�|��j�d�j�t�j�k�S(���Ni����(���t ���isinstanceR����t���Nodet���childrent���typeR���t���STRING(���t���stmt(����(����s6���/usr/lib64/python2.7/lib2to3/fixes/fix_tuple_params.pyt���is_docstring���s����t���FixTupleParamsc�����������B���s,���e��Z�d��Z�e�Z�d�Z�d����Z�d����Z�RS(���i���s�� funcdef< 'def' any parameters< '(' args=any ')' > ['->' any] ':' suite=any+ > | lambda= lambdef< 'lambda' args=vfpdef< '(' inner=any ')' > ':' body=any > c������������s0��d�|�k�r���j��|�|���Sg����|�d�}�|�d�}�|�d�j�d�j�t�j�k�ry�d�}�|�d�j�d�j�}�t�������n!�d�}�d�}�t�j�t�j�d������t ��������f�d ���}�|�j�t �j�k�r��|�|���n`�|�j�t �j�k�r1xK�t �|�j���D]7�\�}�} �| �j�t �j�k�r��|�| �d �|�d�k��q��q��Wn����s;d��Sx���D]�} �|�d�| �_�qBW|�}�|�d�k�r{d���d�_�n1�t�|�d�j�|���r�|���d�_�|�d�}�n��x���D]�} �|�d�| �_�q�W��|�d�j�|�|�+x=�t�|�d�|�t�����d���D]�}�|�|�d�j�|�_�q�W|�d�j����d��S(���Nt���lambdat���suitet���argsi����i���i���u���; u����c������������s����t����j������}�|��j����}�d�|�_�t�|�|�j������}�|�rN�d�|�_�n��|��j�|�����j�t�j�t �j �|����j����g�����d��S(���Nu����u��� (���R���t���new_namet���clonet���prefixR���t���replacet���appendR����R ���R���t���simple_stmt(���t ���tuple_argt ���add_prefixt���nt���argR���(���t���endt ���new_linest���self(����s6���/usr/lib64/python2.7/lib2to3/fixes/fix_tuple_params.pyt���handle_tupleC���s���� R���u��� (���t���transform_lambdaR���R���R���t���INDENTt���valueR���R����t���Leaft���FalseR���t���tfpdeft ���typedargslistt ���enumeratet���parentR���R���t���ranget���lent���changed(���R ���t���nodet���resultsR���R���t���startt���indentR!���t���iR���t���linet���after(����(���R���R���R ���s6���/usr/lib64/python2.7/lib2to3/fixes/fix_tuple_params.pyt ���transform.���sF���� (c���������C���sN��|�d�}�|�d�}�t��|�d���}�|�j�t�j�k�r\�|�j����}�d�|�_�|�j�|���d��St�|���}�t�|���}�|��j �t �|�����}�t�|�d�d��} �|�j�| �j������x��|�j����D]��} �| �j�t�j�k�r��| �j �|�k�r��g��|�| �j �D]�}�|�j����^�q��}�t�j�t�j�| �j����g�|���} �| �j�| �_�| �j�| ���q��q��Wd��S(���NR���t���bodyt���inneru��� R���(���t ���simplify_argsR���R���t���NAMER���R���R���t���find_paramst���map_to_indexR���t ���tuple_nameR���t ���post_orderR$���R����R ���R���t���power(���R ���R.���R/���R���R6���R7���t���paramst���to_indext���tup_namet ���new_paramR���t���ct ���subscriptst���new(����(����s6���/usr/lib64/python2.7/lib2to3/fixes/fix_tuple_params.pyR"���n���s(���� !&(���t���__name__t ���__module__t ���run_ordert���Truet ���BM_compatiblet���PATTERNR5���R"���(����(����(����s6���/usr/lib64/python2.7/lib2to3/fixes/fix_tuple_params.pyR������s ��� @c���������C���so���|��j��t�j�t�j�f�k�r�|��S|��j��t�j�k�r[�x#�|��j��t�j�k�rV�|��j�d�}��q4�W|��St�d�|������d��S(���Ni���s���Received unexpected node %s(���R���R���t���vfplistR���R9���t���vfpdefR���t���RuntimeError(���R.���(����(����s6���/usr/lib64/python2.7/lib2to3/fixes/fix_tuple_params.pyR8�������s����c���������C���sn���|��j��t�j�k�r#�t�|��j�d���S|��j��t�j�k�r<�|��j�Sg��|��j�D]$�}�|�j��t�j�k�rF�t�|���^�qF�S(���Ni���( ���R���R���RM���R:���R���R���R9���R$���t���COMMA(���R.���RC���(����(����s6���/usr/lib64/python2.7/lib2to3/fixes/fix_tuple_params.pyR:�������s ����c���������C���s����|�d��k�r�i��}�n��xh�t�|����D]Z�\�}�}�t�t�t�|�������g�}�t�|�t���rn�t�|�|�d�|��q"�|�|�|�|�<q"�W|�S(���Nt���d(���t���NoneR)���R���R���t���unicodeR ���t���listR;���(���t ���param_listR���RP���R2���t���objt���trailer(����(����s6���/usr/lib64/python2.7/lib2to3/fixes/fix_tuple_params.pyR;�������s���� c���������C���sV���g��}�x@�|��D]8�}�t��|�t���r8�|�j�t�|�����q �|�j�|���q �Wd�j�|���S(���Nu���_(���R ���RS���R���R<���t���join(���RT���t���lRU���(����(����s6���/usr/lib64/python2.7/lib2to3/fixes/fix_tuple_params.pyR<�������s���� N(���t���__doc__t����R����t���pgen2R���R���t ���fixer_utilR���R���R���R���R���R���R���t���BaseFixR���R8���R:���RQ���R;���R<���(����(����(����s6���/usr/lib64/python2.7/lib2to3/fixes/fix_tuple_params.pyt���<module>���s���. l