python (3.11.7)
    ef                     |    	 d dl mZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 dZ G d dej                  Z
d Zd	 Zd
 ZdS )   )token)python_symbols)
fixer_base)NameCallfind_bindingz;Calls to builtin next() possibly shadowed by global bindingc                   0     e Zd ZdZdZdZ fdZd Z xZS )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* >
    prec                     t          t          |                               ||           t          d|          }|r$|                     |t
                     d| _        d S d| _        d S )NnextTF)superr
   
start_treer   warningbind_warning
shadowed_next)selftreefilenamen	__class__s       J/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/lib2to3/fixes/fix_next.pyr   zFixNext.start_tree$   sj    
gt''h777&& 	'LLL)))!%D!&D    c                 \   |                     d          }|                     d          }|                     d          }|r| j        r+|                    t          d|j                             d S d |D             }d|d         _        |                    t          t          d	|j                  |                     d S |r-t          d|j                  }|                    |           d S |rt
          |          rZ|d
         }d                    d |D                                                       dk    r| 	                    |t                     d S |                    t          d                     d S d
|v r$| 	                    |t                     d| _        d S d S )Nbaseattrname__next__)prefixc                 6    g | ]}|                                 S  )clone.0r   s     r   
<listcomp>z%FixNext.transform.<locals>.<listcomp>9   s     000a		000r        r
   headc                 ,    g | ]}t          |          S r!   )strr#   s     r   r%   z%FixNext.transform.<locals>.<listcomp>E   s    111qCFF111r   __builtin__globalT)getr   replacer   r   r   is_assign_targetjoinstripr   r   )r   noderesultsr   r   r   r   r(   s           r   	transformzFixNext.transform.   s    {{6""{{6""{{6"" 	&! 
KT*T[AAABBBBB004000!#QT$vdk"B"B"BDIIJJJJJ
 	&Z444ALLOOOOO
 	&  %% 
v7711D1112288::mKKLL|444LLj))*****
 
 LL|,,,!%D !
 r   )	__name__
__module____qualname__
BM_compatiblePATTERNorderr   r4   
__classcell__)r   s   @r   r
   r
      sZ        M
G 
E'