File: //proc/self/root/usr/lib64/python3.9/site-packages/wrapt/__pycache__/decorators.cpython-39.pyc
a
�܃gUS � @ sD d Z ddlZejd dkZer0efZddd�ZnefZddlZe ed�Z[ddl
mZ ddlm
Z
dd lmZmZ d
dlmZ zddlmZ W n ey� Y n0 d
d
lmZmZmZmZ G dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�Z e Z!dddefdd�Z"dd� Z#e� e#_$dS )zoThis module implements decorators for implementing other decorators
as well as some commonly used decorators.
� N� c C sB |du r*t �d�}|j}|du r&|j}~n|du r6|}td� dS )zExecute code in a namespace.N� zexec _code_ in _globs_, _locs_)�sys� _getframe� f_globals�f_locals�exec)Z_code_Z_globs_Z_locs_�frame� r
�6/usr/lib64/python3.9/site-packages/wrapt/decorators.py�exec_
s
r r )�partial)�isclass)�Lock�RLockr )�
formatargspec)� signature)�FunctionWrapper�BoundFunctionWrapper�ObjectProxy�CallableObjectProxyc sX e Zd Z� fdd�Zedd� �Zedd� �Zedd� �Zed d
� �Zedd� �Z � Z
S )
�_AdapterFunctionCodec s t t| ��|� || _d S �N)�superr �__init__�_self_adapter_code)�selfZwrapped_codeZadapter_code�� __class__r
r r 7 s z_AdapterFunctionCode.__init__c C s | j jS r )r �co_argcount�r r
r
r r ; s z _AdapterFunctionCode.co_argcountc C s | j jS r )r �co_coder r
r
r r! ? s z_AdapterFunctionCode.co_codec C s | j jS r )r �co_flagsr r
r
r r"