AlkantarClanX12

Your IP : 3.133.108.172


Current Path : /opt/alt/python37/lib64/python3.7/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/__pycache__/abc.cpython-37.pyc

B

� f��@s�dZdd�ZGdd�de�ZGdd�de�ZGdd�de�Zy,d	d
lm	Z	m
Z
mZmZm
Z
mZmZmZWn*ek
r�d	dlmZm	Z	de_YnXGd
d�de�ZGdd�ded�ZdS)z3Abstract Base Classes (ABCs) according to PEP 3119.cCs
d|_|S)a�A decorator indicating abstract methods.

    Requires that the metaclass is ABCMeta or derived from it.  A
    class that has a metaclass derived from ABCMeta cannot be
    instantiated unless all of its abstract methods are overridden.
    The abstract methods can be called using any of the normal
    'super' call mechanisms.

    Usage:

        class C(metaclass=ABCMeta):
            @abstractmethod
            def my_abstract_method(self, ...):
                ...
    T)�__isabstractmethod__)�funcobj�r�(/opt/alt/python37/lib64/python3.7/abc.py�abstractmethodsrcs$eZdZdZdZ�fdd�Z�ZS)�abstractclassmethodaJA decorator indicating abstract classmethods.

    Similar to abstractmethod.

    Usage:

        class C(metaclass=ABCMeta):
            @abstractclassmethod
            def my_abstract_classmethod(cls, ...):
                ...

    'abstractclassmethod' is deprecated. Use 'classmethod' with
    'abstractmethod' instead.
    Tcsd|_t��|�dS)NT)r�super�__init__)�self�callable)�	__class__rrr-szabstractclassmethod.__init__)�__name__�
__module__�__qualname__�__doc__rr�
__classcell__rr)rrrsrcs$eZdZdZdZ�fdd�Z�ZS)�abstractstaticmethodaJA decorator indicating abstract staticmethods.

    Similar to abstractmethod.

    Usage:

        class C(metaclass=ABCMeta):
            @abstractstaticmethod
            def my_abstract_staticmethod(...):
                ...

    'abstractstaticmethod' is deprecated. Use 'staticmethod' with
    'abstractmethod' instead.
    Tcsd|_t��|�dS)NT)rrr)r	r
)rrrrDszabstractstaticmethod.__init__)rr
rrrrrrr)rrr2src@seZdZdZdZdS)�abstractpropertyafA decorator indicating abstract properties.

    Requires that the metaclass is ABCMeta or derived from it.  A
    class that has a metaclass derived from ABCMeta cannot be
    instantiated unless all of its abstract properties are overridden.
    The abstract properties can be called using any of the normal
    'super' call mechanisms.

    Usage:

        class C(metaclass=ABCMeta):
            @abstractproperty
            def my_abstract_property(self):
                ...

    This defines a read-only property; you can also define a read-write
    abstract property using the 'long' form of property declaration:

        class C(metaclass=ABCMeta):
            def getx(self): ...
            def setx(self, value): ...
            x = abstractproperty(getx, setx)

    'abstractproperty' is deprecated. Use 'property' with 'abstractmethod'
    instead.
    TN)rr
rrrrrrrrIsr�)�get_cache_token�	_abc_init�
_abc_register�_abc_instancecheck�_abc_subclasscheck�	_get_dump�_reset_registry�
_reset_caches)�ABCMetar�abccsReZdZdZ�fdd�Zdd�Zdd�Zdd	�Zddd�Zd
d�Z	dd�Z
�ZS)ra�Metaclass for defining Abstract Base Classes (ABCs).

        Use this metaclass to create an ABC.  An ABC can be subclassed
        directly, and then acts as a mix-in class.  You can also register
        unrelated concrete classes (even built-in classes) and unrelated
        ABCs as 'virtual subclasses' -- these and their descendants will
        be considered subclasses of the registering ABC by the built-in
        issubclass() function, but the registering ABC won't show up in
        their MRO (Method Resolution Order) nor will method
        implementations defined by the registering ABC be callable (not
        even via super()).
        cs"t�j||||f|�}t|�|S)N)r�__new__r)�mcls�name�bases�	namespace�kwargs�cls)rrrr}szABCMeta.__new__cCs
t||�S)z{Register a virtual subclass of an ABC.

            Returns the subclass, to allow usage as a class decorator.
            )r)r$�subclassrrr�register�szABCMeta.registercCs
t||�S)z'Override for isinstance(instance, cls).)r)r$�instancerrr�__instancecheck__�szABCMeta.__instancecheck__cCs
t||�S)z'Override for issubclass(subclass, cls).)r)r$r%rrr�__subclasscheck__�szABCMeta.__subclasscheck__NcCs�td|j�d|j��|d�tdt���|d�t|�\}}}}td|��|d�td|��|d�td|��|d�td|��|d�d	S)
z'Debug helper to print the ABC registry.zClass: �.)�filezInv. counter: z_abc_registry: z_abc_cache: z_abc_negative_cache: z_abc_negative_cache_version: N)�printr
rrr)r$r+�
_abc_registry�
_abc_cache�_abc_negative_cache�_abc_negative_cache_versionrrr�_dump_registry�s
zABCMeta._dump_registrycCst|�dS)z.Clear the registry (for debugging or testing).N)r)r$rrr�_abc_registry_clear�szABCMeta._abc_registry_clearcCst|�dS)z,Clear the caches (for debugging or testing).N)r)r$rrr�_abc_caches_clear�szABCMeta._abc_caches_clear)N)rr
rrrr&r(r)r1r2r3rrr)rrrps
rc@seZdZdZdZdS)�ABCzVHelper class that provides a standard way to create an ABC using
    inheritance.
    rN)rr
rr�	__slots__rrrrr4�sr4)�	metaclassN)rr�classmethodr�staticmethodr�propertyr�_abcrrrrrrrr�ImportErrorZ_py_abcrr
�typer4rrrr�<module>s,6