HEX
Server: nginx/1.24.0
System: Linux localhost 5.15.0-46-generic #49-Ubuntu SMP Thu Aug 4 18:03:25 UTC 2022 x86_64
User: www (1000)
PHP: 8.3.27
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: //lib/python3.10/lib2to3/fixes/__pycache__/fix_next.cpython-310.pyc
o

��bcf�@sndZddlmZddlmZddlmZddlm	Z	m
Z
mZdZGdd�dej
�Zd	d
�Zdd�Zd
d�ZdS)z.Fixer for it.next() -> next(it), per PEP 3114.�)�token)�python_symbols)�
fixer_base)�Name�Call�find_bindingz;Calls to builtin next() possibly shadowed by global bindingcs0eZdZdZdZdZ�fdd�Zdd�Z�ZS)�FixNextTa�
    power< base=any+ trailer< '.' attr='next' > trailer< '(' ')' > >
    |
    power< head=any+ trailer< '.' attr='next' > not trailer< '(' ')' > >
    |
    classdef< 'class' any+ ':'
              suite< any*
                     funcdef< 'def'
                              name='next'
                              parameters< '(' NAME ')' > any+ >
                     any* > >
    |
    global=global_stmt< 'global' any* 'next' any* >
    �precs@tt|��||�td|�}|r|�|t�d|_dSd|_dS)N�nextTF)�superr�
start_treer�warning�bind_warning�
shadowed_next)�self�tree�filename�n��	__class__��-/usr/lib/python3.10/lib2to3/fixes/fix_next.pyr$s


zFixNext.start_treecCs|sJ�|�d�}|�d�}|�d�}|r?|jr$|�td|jd��dSdd�|D�}d|d	_|�ttd
|jd�|��dS|rOtd|jd�}|�|�dS|rxt|�ro|d}d�dd�|D����d
krm|�	|t
�dS|�td��dSd|vr�|�	|t
�d|_dSdS)N�base�attr�name�__next__)�prefixcSsg|]}|���qSr)�clone��.0rrrr�
<listcomp>9�z%FixNext.transform.<locals>.<listcomp>��r
�headcSsg|]}t|��qSr)�strrrrrr Er!�__builtin__�globalT)�getr�replacerrr�is_assign_target�join�stripr
r)r�node�resultsrrrrr$rrr�	transform.s0




�zFixNext.transform)	�__name__�
__module__�__qualname__�
BM_compatible�PATTERN�orderrr/�
__classcell__rrrrrs
rcCsFt|�}|dur
dS|jD]}|jtjkrdSt||�r dSq
dS)NFT)�find_assign�children�typer�EQUAL�
is_subtree)r-�assign�childrrrr*Qs

�r*cCs4|jtjkr|S|jtjks|jdurdSt|j�S�N)r9�syms�	expr_stmt�simple_stmt�parentr7�r-rrrr7]s

r7cs$|�krdSt�fdd�|jD��S)NTc3s�|]}t|��VqdSr>)r;)r�crCrr�	<genexpr>gs�zis_subtree.<locals>.<genexpr>)�anyr8)�rootr-rrCrr;dsr;N)�__doc__�pgen2r�pygramrr?r"r�
fixer_utilrrrr�BaseFixrr*r7r;rrrr�<module>s@