OM ^ d Z ddlmZ ddlmZ ddlmZ dZd Z G d dej Z
d S )
z&
Fixer to remove function annotations
)
fixer_base)token)symsz)Removing function annotations completely.c | j d S )Nr )children)nodes u/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/libpasteurize/fixes/fix_annotations.pyparam_without_annotationsr
s = c " e Zd ZdZd ZdZd ZdS )FixAnnotationsFc T | j s d| _ | || d S d S )NTreason)warnedwarning)selfr r s r warn_oncezFixAnnotations.warn_once s9 { .DKLLfL----- . .r zm
funcdef< 'def' any parameters< '(' [params=any] ')' > ['->' ret=any] ':' any* >
c | d }| d }|m|j j t j k s
J d | |t |j | |dS |j t j k r_|j
D ]U}|j t j k r>| |t | t | VdS |j t j k r@| |t | t | dS dS )zK
This just strips annotations from the funcdef completely.
paramsretNzInvalid return annotationr )getprev_siblingtyper RARROWr warning_textremover
typedargslistr tnamereplacer
)r r resultsr r params r transformzFixAnnotations.transform sN Y''kk&!!?#(EL888:V888NN4N555##%%%JJLLL>66;$,,,
D
D:++NN4N===MM";E"B"BCCC
D
D [DJ
&
&NN4N555NN4V<<===== '
&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