Ë
    	š„j-  ã                   ó`   — d Z ddlmZ ddlmZ ddlmZ dZd„ Z G d„ dej                  «      Z
y	)
z&
Fixer to remove function annotations
é    )Ú
fixer_base)Útoken)Úsymsz)Removing function annotations completely.c                 ó    — | j                   d   S )Nr   )Úchildren)Únodes    úZ/var/www/html/GAP/venv/lib/python3.12/site-packages/libpasteurize/fixes/fix_annotations.pyÚparam_without_annotationsr
      s   € Ø�=‰=˜ÑÐó    c                   ó    — e Zd ZdZd„ ZdZd„ Zy)ÚFixAnnotationsFc                 óR   — | j                   sd| _         | j                  ||¬«       y y )NT©Úreason)ÚwarnedÚwarning)Úselfr   r   s      r	   Ú	warn_oncezFixAnnotations.warn_once   s%   € Ø�{Š{ØˆDŒKØ�L‰L˜ fˆLÕ-ð r   zm
              funcdef< 'def' any parameters< '(' [params=any] ')' > ['->' ret=any] ':' any* >
              c                 óÊ  — |j                  d«      }|j                  d«      }|�o|j                  j                  t        j                  k(  sJ d«       ‚| j                  |t        ¬«       |j                  j                  «        |j                  «        |€y|j                  t        j                  k(  ra|j                  D ]Q  }|j                  t        j                  k(  sŒ!| j                  |t        ¬«       |j                  t        |«      «       ŒS y|j                  t        j                  k(  r2| j                  |t        ¬«       |j                  t        |«      «       yy)zK
        This just strips annotations from the funcdef completely.
        ÚparamsÚretNzInvalid return annotationr   )ÚgetÚprev_siblingÚtyper   ÚRARROWr   Úwarning_textÚremover   Útypedargslistr   ÚtnameÚreplacer
   )r   r   Úresultsr   r   Úparams         r	   Ú	transformzFixAnnotations.transform   s  € ð —‘˜YÓ'ˆØ�k‰k˜&Ó!ˆØˆ?Ø×#Ñ#×(Ñ(¬E¯L©LÒ8ÐVÐ:VÓVÐ8Ø�N‰N˜4¬ˆNÔ5Ø×Ñ×#Ñ#Ô%Ø�J‰JŒLØˆ>˜6Ø�;‰;œ$×,Ñ,Ò,àŸ™ò D�Ø—:‘:¤§¡Ó+Ø—N‘N 4´�NÔ=Ø—M‘MÔ";¸EÓ"BÕCñDð �[‰[œDŸJ™JÒ&à�N‰N˜4¬ˆNÔ5Ø�N‰NÔ4°VÓ<Õ=ð 'r   N)Ú__name__Ú
__module__Ú__qualname__r   r   ÚPATTERNr#   © r   r	   r   r      s   „ à€Fò.ð
€Gó>r   r   N)Ú__doc__Úlib2to3r   Úlib2to3.pgen2r   Úlib2to3.fixer_utilr   r   r
   ÚBaseFixr   r(   r   r	   ú<module>r.      s1   ðñõ Ý Ý #à;€òô">�Z×'Ñ'õ ">r   