Current Dir: /snap/core22/2437/usr/lib/python3.10/lib2to3/fixes/__pycache__/

[FILE] fix_apply.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_asserts.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_basestring.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_buffer.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_dict.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_except.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_exec.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_execfile.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_exitfunc.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_filter.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_funcattrs.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_future.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_getcwdu.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_has_key.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_idioms.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_import.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_imports.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_imports2.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_input.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_intern.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_isinstance.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_itertools.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_itertools_imports.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_long.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_map.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_metaclass.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_methodattrs.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_ne.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_next.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_nonzero.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_numliterals.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_operator.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_paren.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_print.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_raise.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_raw_input.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_reduce.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_reload.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_renames.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_repr.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_set_literal.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_standarderror.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_sys_exc.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_throw.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_tuple_params.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_types.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_unicode.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_urllib.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_ws_comma.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_xrange.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_xreadlines.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_zip.cpython-310.pyc [ edit | delete | rename ]
[FILE] __init__.cpython-310.pyc [ edit | delete | rename ]

Viewing: /snap/core22/2437/usr/lib/python3.10/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-310.pyc

o

��bc��@s�dZddlmZddlmZddlmZddlmZmZm	Z	m
Z
mZmZdd�Z
Gdd	�d	ej�Zd
d�Zdd
�Zgdfdd�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�symscCst|tj�o|jdjtjkS)N�)�
isinstancer�Node�children�typer�STRING)�stmt�r�5/usr/lib/python3.10/lib2to3/fixes/fix_tuple_params.py�is_docstrings�rc@s(eZdZdZdZdZdd�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|vr
��||�Sg�|d}|d}|djdjtjkr-d}|djdj}t��nd}d}t�tjd��d���fd
d�	}|jt	j
krL||�n|jt	jkrjt|j�D]\}}	|	jt	j
kri||	|dkd�qW�sndS�D]}
|d|
_
qp|}|dkr�d
�d_nt|dj|�r�|�d_|d}�D]}
|d|
_
q��|dj||�<t|d|t��d�D]
}||dj|_q�|d��dS)N�lambda�suite�argsr�rz; �Fcs\t����}|��}d|_t||���}|rd|_|�|���t�t	j
|���g��dS)Nr� )r�new_name�clone�prefixr�replace�appendrr
r
�simple_stmt)�	tuple_arg�
add_prefix�n�argr��end�	new_lines�selfrr�handle_tupleCs


�z.FixTupleParams.transform.<locals>.handle_tuple)r$r)F)�transform_lambdarrr�INDENT�valuerr�Leafr
�tfpdef�
typedargslist�	enumerate�parentrr�range�len�changed)r*�node�resultsrr�start�indentr+�ir&�line�afterrr'r�	transform.sH
�
zFixTupleParams.transformc
Cs�|d}|d}t|d�}|jtjkr"|��}d|_|�|�dSt|�}t|�}|�	t
|��}t|dd�}	|�|	���|��D],}
|
jtjkrn|
j
|vrndd�||
j
D�}t�tj|	��g|�}|
j|_|
�|�qBdS)Nr�body�innerr)rcSsg|]}|���qSr)r��.0�crrr�
<listcomp>�sz3FixTupleParams.transform_lambda.<locals>.<listcomp>)�
simplify_argsrr�NAMErrr �find_params�map_to_indexr�
tuple_namer�
post_orderr.rr
r
�power)
r*r7r8rr?r@�params�to_index�tup_name�	new_paramr%�
subscripts�newrrrr,ns.
�
��zFixTupleParams.transform_lambdaN)�__name__�
__module__�__qualname__�	run_order�
BM_compatible�PATTERNr>r,rrrrrs
@rcCsT|jtjtjfvr|S|jtjkr$|jtjkr"|jd}|jtjks|Std|��)NrzReceived unexpected node %s)rr
�vfplistrrF�vfpdefr�RuntimeError�r7rrrrE�s
�rEcCs<|jtjkr
t|jd�S|jtjkr|jSdd�|jD�S)NrcSs g|]}|jtjkrt|��qSr)rr�COMMArGrArrrrD�s zfind_params.<locals>.<listcomp>)rr
rYrGrrrFr.r[rrrrG�s
rGNcCsZ|duri}t|�D] \}}ttt|���g}t|t�r$t|||d�q
||||<q
|S)N)�d)r2r	r�strr�listrH)�
param_listrr]r;�obj�trailerrrrrH�s
rHcCs<g}|D]}t|t�r|�t|��q|�|�qd�|�S)N�_)rr_r!rI�join)r`�lrarrrrI�s

rI)�__doc__rr�pgen2rr�
fixer_utilrrrrr	r
r�BaseFixrrErGrHrIrrrr�<module>s l
Upload File: