OwlCyberSecurity - MANAGER
Edit File: fix_tuple_params.cpython-38.pyc
U ����e5d�����������������������@���s����d�Z�ddlmZ�ddlmZ�ddlmZ�ddlmZmZm Z m Z mZmZ�dd��Z G�dd ��d ej�Zd d��Zdd ��Zg�dfdd�Zdd��ZdS�)a:��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 ����)�pytree)�token)� fixer_base)�Assign�Name�Newline�Number� Subscript�symsc�����������������C���s���t�|�tj�o|�jd�jtjkS�)N�����)� isinstancer����Node�children�typer����STRING)�stmt��r����6/usr/lib64/python3.8/lib2to3/fixes/fix_tuple_params.py�is_docstring���s�����r���c�������������������@���s(���e�Zd�ZdZdZdZdd��Zdd��ZdS�) �FixTupleParams����Ta�� funcdef< 'def' any parameters< '(' args=any ')' > ['->' any] ':' suite=any+ > | lambda= lambdef< 'lambda' args=vfpdef< '(' inner=any ')' > ':' body=any > c��������������������s���d|kr���||�S�g��|d�}|d�}|d�jd�jtjkrZd}|d�jd�j}t����nd}d}t�tjd���d����fd d� }|jt j kr�||��n<|jt jkr�t|j�D�]$\}} | jt j kr�|| |dkd��q��s�d�S��D�]} |d�| _ q�|}|dk�r d �d�_n&t|d�j|���r0|�d�_|d�}�D�]} |d�| _ �q4�|d�j||�<�t|d�|t���d��D�]}||d�j|�_�qr|d�����d�S�)N�lambda�suite�argsr�������r���z; ��Fc��������������������s\���t������}|����}d|_t||����}|r2d|_|��|����t�t j |�����g���d�S�)Nr���� )r����new_name�clone�prefixr����replace�appendr���r ���r ���Zsimple_stmt)Z tuple_arg� add_prefix�n�argr�����endZ new_lines�selfr���r����handle_tupleC���s���� �z.FixTupleParams.transform.<locals>.handle_tuple)r"���r���)F)�transform_lambdar���r���r����INDENT�valuer���r���ZLeafr ���ZtfpdefZ typedargslist� enumerate�parentr���r����range�lenZchanged)r'����node�resultsr���r����start�indentr(����ir$����lineZafterr���r%���r���� transform.���sF���� zFixTupleParams.transformc����������� ������C���s����|d�}|d�}t�|d��}|jtjkrD|���}d|_|�|��d�S�t|�}t|�}|�� t |��}t|dd�} |�| �����|���D�]X} | jtjkr�| j |kr�dd��|| j �D��}t�tj| ���g|��}| j|_| �|��q�d�S�)Nr����body�innerr���)r���c�����������������S���s���g�|�]}|�����qS�r���)r�����.0�cr���r���r���� <listcomp>����s�����z3FixTupleParams.transform_lambda.<locals>.<listcomp>)� simplify_argsr���r����NAMEr���r���r ����find_params�map_to_indexr���� tuple_namer���Z post_orderr+���r���r ���r ���Zpower) r'���r0���r1���r���r7���r8���ZparamsZto_indexZtup_nameZ new_paramr#���Z subscripts�newr���r���r���r)���n���s*���� �zFixTupleParams.transform_lambdaN)�__name__� __module__�__qualname__Z run_orderZ BM_compatibleZPATTERNr6���r)���r���r���r���r���r������s ��� @r���c�����������������C���sN���|�j�tjtjfkr|�S�|�j�tjkr>|�j�tjkr:|�jd�}�q"|�S�td|����d�S�)Nr���zReceived unexpected node %s)r���r ���Zvfplistr���r>����vfpdefr����RuntimeError�r0���r���r���r���r=�������s����r=���c�����������������C���s<���|�j�tjkrt|�jd��S�|�j�tjkr,|�jS�dd��|�jD��S�)Nr���c�����������������S���s ���g�|�]}|j�tjkrt|��qS�r���)r���r����COMMAr?���r9���r���r���r���r<�������s������zfind_params.<locals>.<listcomp>)r���r ���rF���r?���r���r���r>���r+���rH���r���r���r���r?�������s ����r?���Nc�����������������C���sZ���|d�kri�}t�|��D�]@\}}ttt|���g}t|t�rHt|||d��q||�||<�q|S�)N)�d)r,���r ���r����strr����listr@���)� param_listr���rJ���r4����objZtrailerr���r���r���r@�������s���� r@���c�����������������C���s<���g�}|�D�](}t�|t�r&|�t|���q|�|��qd�|�S�)N�_)r���rL���r!���rA����join)rM����lrN���r���r���r���rA�������s���� rA���)�__doc__r���r���Zpgen2r���r���Z fixer_utilr���r���r���r���r ���r ���r���ZBaseFixr���r=���r?���r@���rA���r���r���r���r����<module>���s��� l