<!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>
B
    A[V                 @   sn   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 dZG dd dejZd	d
 Zdd Zdd ZdS )a  
Based on fix_next.py by Collin Winter.

Replaces it.next() -> next(it), per PEP 3114.

Unlike fix_next.py, this fixer doesn't replace the name of a next method with __next__,
which would break Python 2 compatibility without further help from fixers in
stage 2.
    )token)python_symbols)
fixer_base)NameCallfind_bindingz;Calls to builtin next() possibly shadowed by global bindingc                   s0   e Zd ZdZdZdZ fddZdd Z  ZS )FixNextCallTz
    power< base=any+ trailer< '.' attr='next' > trailer< '(' ')' > >
    |
    power< head=any+ trailer< '.' attr='next' > not trailer< '(' ')' > >
    |
    global=global_stmt< 'global' any* 'next' any* >
    prec                s>   t t| || td|}|r4| |t d| _nd| _d S )NnextTF)superr   
start_treer   warningbind_warningshadowed_next)selftreefilenamen)	__class__ P/opt/alt/python37/lib/python3.7/site-packages/libfuturize/fixes/fix_next_call.pyr       s    
zFixNextCall.start_treec             C   s   |st |d}|d}|d}|rf| jr2qdd |D }d|d _|ttd|jd	| nb|rln\|rt|r|d
 }ddd |D 	 dkr| 
|t d S nd|kr| 
|t d| _d S )Nbaseattrnamec             S   s   g | ]}|  qS r   )clone).0r   r   r   r   
<listcomp>7   s    z)FixNextCall.transform.<locals>.<listcomp> r   r
   )prefixheadc             S   s   g | ]}t |qS r   )str)r   r   r   r   r   r   E   s    Z__builtin__globalT)AssertionErrorgetr   r   replacer   r   is_assign_targetjoinstripr   r   )r   noderesultsr   r   r   r   r   r   r   	transform*   s*    



zFixNextCall.transform)	__name__
__module____qualname__ZBM_compatibleZPATTERNorderr   r*   __classcell__r   r   )r   r   r      s
   
r   c             C   sF   t | }|d krdS x,|jD ]"}|jtjkr0dS t|| rdS qW dS )NFT)find_assignchildrentyper   EQUAL
is_subtree)r(   Zassignchildr   r   r   r%   R   s    
r%   c             C   s4   | j tjkr| S | j tjks&| jd kr*d S t| jS )N)r2   symsZ	expr_stmtZsimple_stmtparentr0   )r(   r   r   r   r0   ^   s
    r0   c                s$   |  krdS t  fdd| jD S )NTc             3   s   | ]}t | V  qd S )N)r4   )r   c)r(   r   r   	<genexpr>h   s    zis_subtree.<locals>.<genexpr>)anyr1   )rootr(   r   )r(   r   r4   e   s    r4   N)__doc__Zlib2to3.pgen2r   Zlib2to3.pygramr   r6   Zlib2to3r   Zlib2to3.fixer_utilr   r   r   r   ZBaseFixr   r%   r0   r4   r   r   r   r   <module>	   s   >