<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]                 @   s   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 d   Z Gd d   d e j  Z d	 d
   Z d d   Z g  d d d  Z d d   Z d S)   )pytree)token)
fixer_base)AssignNameNewlineNumber	Subscriptsymsc             C   s)   t  |  t j  o( |  j d j t j k S)N    )
isinstancer   Nodechildrentyper   STRING)stmt r   5/opt/alt/python35/lib64/python3.5/fix_tuple_params.pyis_docstring   s    r   c               @   s:   e  Z d  Z d Z d Z d Z d d   Z d d   Z d S)	FixTupleParams   Ta  
              funcdef< 'def' any parameters< '(' args=any ')' >
                       ['->' any] ':' suite=any+ >
              |
              lambda=
              lambdef< 'lambda' args=vfpdef< '(' inner=any ')' >
                       ':' body=any
              >
              c                s-  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    d	     f d
 d  } | j t	 j
 k r | |  nZ | j t	 j k r.xE t | j  D]4 \ } }	 |	 j t	 j
 k r | |	 d | d k q W s8d  Sx  D] }
 | d |
 _ q?W| } | d k rxd  d _ n. t | d j |  r|  d _ | d } x  D] }
 | d |
 _ qW | d j | |  <x= t | d | t   d  D] } | | d j | _ qW| d j   d  S)Nlambdasuiteargsr      r   z;  Fc                s   t   j    } |  j   } d | _ t | | j    } | rK d | _ |  j |   j t j t	 j
 |   j   g   d  S)Nr    )r   new_namecloneprefixr   replaceappendr   r   r
   Zsimple_stmt)Z	tuple_arg
add_prefixnargr   )end	new_linesselfr   r   handle_tupleC   s    		z.FixTupleParams.transform.<locals>.handle_tupler"   r   )transform_lambdar   r   r   INDENTvaluer   r   ZLeafr
   ZtfpdefZtypedargslist	enumerateparentr   r   rangelenZchanged)r'   noderesultsr   r   startindentr(   ir$   lineafterr   )r%   r&   r'   r   	transform.   sF    


(zFixTupleParams.transformc             C   s?  | 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 d d   | |
 j D } t j t j |	 j   g |  } |
 j | _ |
 j |  q Wd  S)Nr   bodyinnerr   r   c             S   s   g  |  ] } | j     q Sr   )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
   Zpower)r'   r0   r1   r   r8   r9   paramsZto_indexZtup_nameZ	new_paramr#   Z
subscriptsnewr   r   r   r)   n   s(    

	!zFixTupleParams.transform_lambdaN)__name__
__module____qualname__Z	run_orderZBM_compatibleZPATTERNr7   r)   r   r   r   r   r      s
   
@r   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)Nr   zReceived unexpected node %s)r   r
   Zvfplistr   r>   vfpdefr   RuntimeError)r0   r   r   r   r=      s    r=   c             C   sP   |  j  t j k r# t |  j d  S|  j  t j k r< |  j Sd d   |  j D S)Nr   c             S   s.   g  |  ]$ } | j  t j k r t |   q Sr   )r   r   COMMAr?   )r:   r;   r   r   r   r<      s   	 zfind_params.<locals>.<listcomp>)r   r
   rG   r?   r   r   r>   r+   )r0   r   r   r   r?      s
    r?   Nc             C   s   | d  k r i  } xh t  |   D]Z \ } } t t t |    g } t | t  rk t | | d | q | | | | <q W| S)Nd)r,   r	   r   strr   listr@   )
param_listr   rJ   r4   objZtrailerr   r   r   r@      s    r@   c             C   sV   g  } x@ |  D]8 } t  | t  r8 | j t |   q | j |  q Wd j |  S)N_)r   rL   r!   rA   join)rM   lrN   r   r   r   rA      s    rA   )r   r   Zpgen2r   r   Z
fixer_utilr   r   r   r   r	   r
   r   ZBaseFixr   r=   r?   r@   rA   r   r   r   r   <module>   s   .l