File: //lib/python3.9/site-packages/__pycache__/decorator.cpython-39.pyc
a
��Y^FC � @ s� d Z ddlmZ ddlZddlZddlZddlZddlZddlZdZ ej
dkrdddlmZ dd� Zne�
d d
�Zdd� Zd
d� Zz
ejZW n ey� dd� ZY n0 zddlmZ W n ey� dd� ZY n0 e�d�ZG dd� de�Zd*dd�Zd+dd�ZzddlmZ W n e�y0 ddlmZ Y n0 G dd� de�Zeej�Zeej �Z!e!dk�rxej"�sxd d!� Zee_n,e!dk�r�ej"�r�ne!d"k�r�d#d!� Zee_ee�Z#d$d%� Z$d&d'� Z%d(d)� Z&dS ),zT
Decorator module, see http://pypi.python.org/pypi/decorator
for the documentation.
� )�print_functionNz4.4.2)� )�getfullargspecc C s | j S �N)�__init__��cls� r �-/usr/lib/python3.9/site-packages/decorator.py�get_init0 s r �FullArgSpeczAargs varargs varkw defaults kwonlyargs kwonlydefaults annotationsc C s t �t�| �g di f �S )z?A quick and dirty replacement for getfullargspec for Python 2.XN)r �_make�inspectZ
getargspec��fr r r
r 7 s r c C s | j jS r )r �__func__r r r r
r ; s c C s dS �NFr r r r r
�iscoroutinefunctionB s r )�isgeneratorfunctionc C s dS r r )�callerr r r
r H s r z\s*def\s*([_\w][_\w\d]*)\s*\(c @ sZ e Zd ZdZe�� Zd Z Z Z Z
ZZddd�Z
dd� Zdd d
�Zeddd
��ZdS )�
FunctionMakerz�
An object with the ability to create functions with a given signature.
It has attributes name, doc, module, signature, defaults, dict and
methods update and make.
r Nc C s� || _ |�rZ|j| _| jdkr$d| _|j| _|j| _t�|��rZt |�}t
|di �| _dD ]} t| | t
|| �� qZt
| j�D ]\}
}t| d|
|� q|t| j�}t| j�}
| jr�|�d| j � |
�d| j � n| jr�|�d� | jD ]$} |�d| � |
�d| | f � q�| j�r6|�d | j � |
�d | j � d
�|�| _d
�|
�| _ |j�� | _|�rf|| _|d u�rv|| _|�r�|| _|�r�|| _|�r�|| _|�r�|| _t| d��s�J �t| d��s�td
| ��d S )N�<lambda>�_lambda_�__annotations__)�args�varargs�varkw�defaults�
kwonlyargs�kwonlydefaultszarg%d�*z%s=Nonez%s=%sz**�, �name� signaturez%You are decorating a non function: %s)�shortsignature�__name__r"