Ë
    	š„jV  ã                   ó€   — 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ej                  «      Zd	„ Zd
„ Zd„ Zy)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                   ó0   ‡ — e Zd ZdZdZdZˆ fd„Zd„ Zˆ x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                 ó”   •— t         t        | �  ||«       t        d|«      }|r| j	                  |t
        «       d| _        y d| _        y )NÚnextTF)Úsuperr
   Ú
start_treer   ÚwarningÚbind_warningÚshadowed_next)ÚselfÚtreeÚfilenameÚnÚ	__class__s       €úV/var/www/html/GAP/venv/lib/python3.12/site-packages/libfuturize/fixes/fix_next_call.pyr   zFixNextCall.start_tree    sA   ø€ ÜŒk˜4Ñ+¨D°(Ô;ä˜ Ó&ˆÙØ�L‰L˜œLÔ)Ø!%ˆDÕà!&ˆDÕó    c                 ód  — |sJ ‚|j                  d«      }|j                  d«      }|j                  d«      }|re| j                  ry |D �cg c]  }|j                  «       ‘Œ }}d|d   _        |j	                  t        t        d|j                  ¬«      |«      «       y |ry |rat        |«      rU|d   }dj                  |D �cg c]  }t        |«      ‘Œ c}«      j                  «       d	k(  r| j                  |t        «       y y d
|v r| j                  |t        «       d| _        y y c c}w c c}w )NÚbaseÚattrÚnameÚ r   r   )ÚprefixÚheadÚ__builtin__ÚglobalT)Úgetr   Úcloner   Úreplacer   r   Úis_assign_targetÚjoinÚstrÚstripr   r   )r   ÚnodeÚresultsr   r   r   r   r    s           r   Ú	transformzFixNextCall.transform*   s  € Ùˆˆwà�{‰{˜6Ó"ˆØ�{‰{˜6Ó"ˆØ�{‰{˜6Ó"ˆáØ×!Ò!ð à+/Ö0 a˜Ÿ™�	Ð0�Ð0Ø!#��Q‘”Ø—‘œT¤$ v°d·k±kÔ"BÀDÓIÕJÙð Ùô   Ô%Ø˜v‘�Ø—7‘7¨DÖ1 qœC �FÒ1Ó2×8Ñ8Ó:¸mÒKØ—L‘L ¤|Ô4Øð	 &ð ˜Ñ Ø�L‰L˜œ|Ô,Ø!%ˆDÕð !ùò' 1ùò 2s   ÁD(ÃD-)	Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibleÚPATTERNÚorderr   r,   Ú__classcell__)r   s   @r   r
   r
      s    ø„ Ø€Mð€Gð €Eô'ö"&r   r
   c                 óœ   — t        | «      }|€y|j                  D ]/  }|j                  t        j                  k(  r yt        || «      sŒ/ y y)NFT)Úfind_assignÚchildrenÚtyper   ÚEQUALÚ
is_subtree)r*   ÚassignÚchilds      r   r&   r&   R   sL   € Ü˜Ó€FØ€~Øà—‘ò ˆØ�:‰:œŸ™Ò$ÙÜ˜˜tÕ$Ùð	ð
 r   c                 ó¾   — | j                   t        j                  k(  r| S | j                   t        j                  k(  s| j                  €y t        | j                  «      S ©N)r7   ÚsymsÚ	expr_stmtÚsimple_stmtÚparentr5   )r*   s    r   r5   r5   ^   sD   € Ø‡y�y”D—N‘NÒ"ØˆØ‡y�y”D×$Ñ$Ò$¨¯©Ð(;ØÜ�t—{‘{Ó#Ð#r   c                 óL   ‡— | ‰k(  ryt        ˆfd„| j                  D «       «      S )NTc              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­wr=   )r9   )Ú.0Úcr*   s     €r   ú	<genexpr>zis_subtree.<locals>.<genexpr>h   s   øè ø€ Ò: qŒz˜!˜T×"Ñ:ùs   ƒ)Úanyr6   )Úrootr*   s    `r   r9   r9   e   s"   ø€ Øˆt‚|ØÜÓ:¨D¯M©MÔ:Ó:Ð:r   N)Ú__doc__Úlib2to3.pgen2r   Úlib2to3.pygramr   r>   Úlib2to3r   Úlib2to3.fixer_utilr   r   r   r   ÚBaseFixr
   r&   r5   r9   © r   r   ú<module>rP      sB   ðñõ  Ý 1Ý ß 7Ñ 7àL€ô8&�*×$Ñ$ô 8&ò|
ò$ó;r   