Your IP : 18.224.45.82


Current Path : /lib64/python3.8/__pycache__/
Upload File :
Current File : //lib64/python3.8/__pycache__/_py_abc.cpython-38.opt-2.pyc

U

e5d-�@s(ddlmZdd�ZGdd�de�ZdS)�)�WeakSetcCstjS�N)�ABCMeta�_abc_invalidation_counter�rr�/usr/lib64/python3.8/_py_abc.py�get_cache_tokensrcsReZdZdZ�fdd�Zdd�Zddd�Zd	d
�Zdd�Zd
d�Z	dd�Z
�ZS)rrc	s�t�j||||f|�}dd�|��D�}|D]:}t|dt��D]&}t||d�}t|dd�r>|�|�q>q,t|�|_t�|_	t�|_
t�|_tj
|_|S)NcSs h|]\}}t|dd�r|�qS)�__isabstractmethod__F)�getattr)�.0�name�valuerrr�	<setcomp>&s�z"ABCMeta.__new__.<locals>.<setcomp>�__abstractmethods__r	F)�super�__new__�itemsr
�set�add�	frozensetrr�
_abc_registry�
_abc_cache�_abc_negative_cacherr�_abc_negative_cache_version)	�mclsr�bases�	namespace�kwargs�clsZ	abstracts�baser
��	__class__rrr#s�
zABCMeta.__new__cCsPt|t�std��t||�r |St||�r2td��|j�|�tjd7_|S)NzCan only register classesz'Refusing to create an inheritance cycle�)	�
isinstance�type�	TypeError�
issubclass�RuntimeErrorrrrr)r�subclassrrr�register6s


zABCMeta.registerNcCs|td|j�d|j��|d�tdt���|d�|jD]@}|�d�r6t||�}t|t�r`t	|�}t|�d|��|d�q6dS)NzClass: �.)�filezInv. counter: Z_abc_z: )
�print�
__module__�__qualname__r�__dict__�
startswithr
r#rr)rr+rr
rrr�_dump_registryHs



zABCMeta._dump_registrycCs|j��dSr)r�clear�rrrr�_abc_registry_clearSszABCMeta._abc_registry_clearcCs|j��|j��dSr)rr2rr3rrr�_abc_caches_clearWs
zABCMeta._abc_caches_clearcsb|j}|�jkrdSt|�}||krH�jtjkr>|�jkr>dS��|�St�fdd�||fD��S)NTFc3s|]}��|�VqdSr)�__subclasscheck__)r�cr3rr�	<genexpr>jsz,ABCMeta.__instancecheck__.<locals>.<genexpr>)	r!rr$rrrrr6�any)r�instancer(Zsubtyperr3r�__instancecheck__\s
��
zABCMeta.__instancecheck__cCst|t�std��||jkr dS|jtjkr>t�|_tj|_n||jkrLdS|�	|�}|t
k	r�|rp|j�|�n|j�|�|S|t|dd�kr�|j�|�dS|j
D] }t||�r�|j�|�dSq�|��D] }t||�r�|j�|�dSq�|j�|�dS)Nz"issubclass() arg 1 must be a classTF�__mro__r)r#r$r%rrrrrr�__subclasshook__�NotImplementedrr
rr&�__subclasses__)rr(�okZrclsZsclsrrrr6ls8







zABCMeta.__subclasscheck__)N)�__name__r-r.rrr)r1r4r5r;r6�
__classcell__rrr rrs
rN)Z_weakrefsetrrr$rrrrr�<module>s

?>