0x1949 Team - FAZEMRX - MANAGER
Edit File: declarations.cpython-310.pyc
o $ x`1� � @ sf d Z dZddlZddlmZ ddlmZ ddlmZ ddlZddlm Z ddl mZ dd l mZ dd l m Z ddl mZ ddl mZ dd lmZ ddlmZ ddlmZ g Zi ZdZdZdd� ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� dee�Zdd� Zdd� Z ed d!� �Z!d"d#� Z"d$d%� Z#d&d'� Z$dYd)d*�Z%d+d,� Z&G d-d.� d.e�Z'G d/d0� d0e�Z(d1d2� Z)d3d4� Z*d5d6� Z+G d7d8� d8e�Z,e,Z-e�.� Z/d9d8� Z,d:e,_0d;d<� Z1d=d>� Z2d?d@� Z3eG dAdB� dBe ��Z4G dCdD� dDee4�Z5dEdF� Z6dGdH� Z7dIdJ� Z8G dKdL� dLe�Z9dMdN� Z:dOdP� Z;edQdR� �Z<edSdT� �Z=eG dUdV� dVe��Z>dZdWdX�Z?e� Z@e>� ZAdS )[a� Implementation of interface declarations There are three flavors of declarations: - Declarations are used to simply name declared interfaces. - ImplementsDeclarations are used to express the interfaces that a class implements (that instances of the class provides). Implements specifications support inheriting interfaces. - ProvidesDeclarations are used to express interfaces directly provided by objects. �restructuredtext� N)�FunctionType)� MethodType)� ModuleType)�addClassAdvisor)� Interface)�InterfaceClass)�SpecificationBase)� Specification)�NameAndModuleComparisonMixin)�CLASS_TYPES)�PYTHON3)�_use_c_implzIClass advice impossible in Python3. Use the @%s class decorator instead.z\The %s API is deprecated, and will not work in Python3 Use the @%s class decorator instead.c C s( | j }| j}|j}||�|�d }|S )N� )�__self_class__� __thisclass__�__mro__�index)�ob� self_class�class_that_invoked_super�complete_mro� next_class� r �=/usr/lib/python3/dist-packages/zope/interface/declarations.py�_next_super_class= s r c @ s e Zd Zdd� Zdd� ZdS )�namedc C � || _ d S �N)�name)�selfr r r r �__init__I � znamed.__init__c C s | j |_|S r )r �__component_name__�r r r r r �__call__L s znamed.__call__N)�__name__� __module__�__qualname__r! r% r r r r r G s r c @ s` e Zd ZdZdZdd� Zdd� Zdd� Zd d � Zdd� Z d d� Z e Zedd� �Z edd� �ZdS )�DeclarationzInterface declarationsr c G s t �| t|�� d S r )r r! �_normalizeargs)r �basesr r r r! V s zDeclaration.__init__c C s | � |�o || �� v S )z:Test whether an interface is in the specification )�extends� interfaces)r � interfacer r r �__contains__Y s zDeclaration.__contains__c C s | � � S )zCReturn an iterator for the interfaces in the specification �r- �r r r r �__iter___ s zDeclaration.__iter__c C s t | j�S )zCReturn an iterator of all included and extended interfaces )�iter�__iro__r1 r r r � flattenedd � zDeclaration.flattenedc s t � fdd�| �� D �� S )z/Remove interfaces from a specification c s&