Your IP : 3.135.241.191


Current Path : /opt/alt/python36/lib64/python3.6/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/__pycache__/abc.cpython-36.opt-2.pyc

3

��2a"�@srddlmZdd�ZGdd�de�ZGdd�de�ZGdd	�d	e�ZGd
d�de	�Z
Gdd
�d
e
d�Zdd�ZdS)�)�WeakSetcCs
d|_|S)NT)�__isabstractmethod__)�funcobj�r�(/opt/alt/python36/lib64/python3.6/abc.py�abstractmethod	srcs eZdZdZ�fdd�Z�ZS)�abstractclassmethodTcsd|_t�j|�dS)NT)r�super�__init__)�self�callable)�	__class__rrr
0szabstractclassmethod.__init__)�__name__�
__module__�__qualname__rr
�
__classcell__rr)r
rrsrcs eZdZdZ�fdd�Z�ZS)�abstractstaticmethodTcsd|_t�j|�dS)NT)rr	r
)rr)r
rrr
Hszabstractstaticmethod.__init__)rrrrr
rrr)r
rr5src@seZdZdZdS)�abstractpropertyTN)rrrrrrrrrMsrcsBeZdZdZ�fdd�Zdd�Zd
dd�Zd	d
�Zdd�Z�Z	S)�ABCMetarc	s�t�j||||f|�}dd�|j�D�}xF|D]>}x8t|dt��D]&}t||d�}t|dd�rB|j|�qBWq.Wt|�|_t�|_	t�|_
t�|_tj
|_|S)NcSs h|]\}}t|dd�r|�qS)rF)�getattr)�.0�name�valuerrr�	<setcomp>�sz"ABCMeta.__new__.<locals>.<setcomp>�__abstractmethods__rF)r	�__new__�itemsr�set�add�	frozensetrr�
_abc_registry�
_abc_cache�_abc_negative_cacher�_abc_invalidation_counter�_abc_negative_cache_version)	�mclsr�bases�	namespace�kwargs�cls�	abstracts�baser)r
rrr�s

zABCMeta.__new__cCsPt|t�std��t||�r |St||�r2td��|jj|�tjd7_|S)NzCan only register classesz'Refusing to create an inheritance cycle�)	�
isinstance�type�	TypeError�
issubclass�RuntimeErrorr rrr#)r)�subclassrrr�register�s


zABCMeta.registerNcCs|td|j|jf|d�tdtj|d�xLt|j�D]>}|jd�r6t||�}t	|t
�r`t|�}td||f|d�q6WdS)NzClass: %s.%s)�filezInv.counter: %s�_abc_z%s: %r)�printrrrr#�sorted�__dict__�
startswithrr-rr)r)r4rrrrr�_dump_registry�s


zABCMeta._dump_registrycsb|j}|�jkrdSt|�}||krH�jtjkr>|�jkr>dS�j|�St�fdd�||hD��S)NTFc3s|]}�j|�VqdS)N)�__subclasscheck__)r�c)r)rr�	<genexpr>�sz,ABCMeta.__instancecheck__.<locals>.<genexpr>)	r
r!r.r$rr#r"r;�any)r)�instancer2�subtyper)r)r�__instancecheck__�s


zABCMeta.__instancecheck__cCs�||jkrdS|jtjkr,t�|_tj|_n||jkr:dS|j|�}|tk	rn|r^|jj|�n|jj|�|S|t	|df�kr�|jj|�dSx(|j
D]}t||�r�|jj|�dSq�Wx*|j�D]}t||�r�|jj|�dSq�W|jj|�dS)NTF�__mro__)
r!r$rr#rr"�__subclasshook__�NotImplementedrrr r0�__subclasses__)r)r2�ok�rcls�sclsrrrr;�s4





zABCMeta.__subclasscheck__)N)
rrrr#rr3r:rAr;rrr)r
rrms
rc@seZdZdS)�ABCN)rrrrrrrrI�srI)�	metaclasscCstjS)N)rr#rrrr�get_cache_token�srKN)
�_weakrefsetrr�classmethodr�staticmethodr�propertyrr.rrIrKrrrr�<module>s 

?>