ok

Mini Shell

Direktori : /proc/self/root/opt/alt/python37/lib64/python3.7/__pycache__/
Upload File :
Current File : //proc/self/root/opt/alt/python37/lib64/python3.7/__pycache__/abc.cpython-37.pyc

B

�x�c��@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__)Zfuncobj�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)r
rrsrcs$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)rr	)r
rrrDszabstractstaticmethod.__init__)rrr
rrrrrr)r
rr2src@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)rrr
rrrrrrrIsr�)�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)Zmcls�nameZbasesZ	namespace�kwargs�cls)r
rrr}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 Zinstancerrr�__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r
rr)r r&Z
_abc_registryZ
_abc_cacheZ_abc_negative_cacheZ_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)rrr
rrr"r#r$r(r)r*rrr)r
rrps
rc@seZdZdZdZdS)�ABCzVHelper class that provides a standard way to create an ABC using
    inheritance.
    rN)rrr
r�	__slots__rrrrr+�sr+)�	metaclassN)rr�classmethodr�staticmethodr�propertyrZ_abcrrrrrrrr�ImportErrorZ_py_abcrr�typer+rrrr�<module>s,6

Zerion Mini Shell 1.0