관리-도구
편집 파일: fix_annotations.cpython-37.pyc
B �A�[- � @ sJ d Z ddlmZ ddlmZ ddlmZ dZdd� ZG dd � d ej �Z d S )z& Fixer to remove function annotations � )� fixer_base)�token)�symsz)Removing function annotations completely.c C s | j d S )Nr )�children)�node� r �T/opt/alt/python37/lib/python3.7/site-packages/libpasteurize/fixes/fix_annotations.py�param_without_annotations s r c @ s$ e Zd ZdZdd� ZdZdd� ZdS )�FixAnnotationsFc C s | j sd| _ | j||d� d S )NT)�reason)�warned�warning)�selfr r r r r � warn_once s zFixAnnotations.warn_oncezm funcdef< 'def' any parameters< '(' [params=any] ')' > ['->' ret=any] ':' any* > c C s� |� d�}|� d�}|dk rR|jjtjks2td��| j|td� |j�� |�� |dkr^dS |jt j kr�x`|jD ],}|jt jkrr| j|td� |� t|�� qrW n(|jt jkr�| j|td� |� t|�� dS )zK This just strips annotations from the funcdef completely. �params�retNzInvalid return annotation)r )�getZprev_sibling�typer �RARROW�AssertionErrorr �warning_text�remover Z typedargslistr Ztname�replacer )r r �resultsr r �paramr r r � transform s"