a 97a-@sJdZddlmZddlmZddlmZdZddZGdd d ej Z d S) z& Fixer to remove function annotations ) fixer_base)token)symsz)Removing function annotations completely.cCs |jdS)Nr)children)noder~/private/var/folders/s6/9n5zrl012gv99k63s4q6ccsd4s6mqz/T/pip-target-f5cq3f2q/lib/python/libpasteurize/fixes/fix_annotations.pyparam_without_annotations sr c@s$eZdZdZddZdZddZdS)FixAnnotationsFcCs|jsd|_|j||ddS)NTreason)warnedwarning)selfrr rrr warn_onceszFixAnnotations.warn_oncezm funcdef< 'def' any parameters< '(' [params=any] ')' > ['->' ret=any] ':' any* > cCs|d}|d}|durR|jjtjks2Jd|j|td|j||dur^dS|jtj kr|j D],}|jtj krp|j|td| t |qpn(|jtj kr|j|td| t |dS)zK This just strips annotations from the funcdef completely. paramsretNzInvalid return annotationr )getZ prev_siblingtyperRARROWr warning_textremoverZ typedargslistrZtnamereplacer )rrresultsrrparamrrr transforms         zFixAnnotations.transformN)__name__ __module__ __qualname__r rZPATTERNrrrrrr sr N) __doc__Zlib2to3rZ lib2to3.pgen2rZlib2to3.fixer_utilrrr ZBaseFixr rrrrs