관리-도구
편집 파일: _py_abc.cpython-312.opt-2.pyc
� �Q�f- � �, � d dl mZ d� Z G d� de� Zy)� )�WeakSetc �$ � t j S �N)�ABCMeta�_abc_invalidation_counter� � �./opt/alt/python312/lib64/python3.12/_py_abc.py�get_cache_tokenr s � �� �,�,�,r c �J � � e Zd Z dZ� fd�Zd� Zd d�Zd� Zd� Zd� Z d� Z � xZS ) r r c �� �� t � | � | |||fi |��}|j � D ��ch c] \ }}t |dd� r|�� }}}|D ]H }t |dt � � D ]. }t ||d � }t |dd� s�|j |� �0 �J t |� |_ t � |_ t � |_ t � |_ t j |_ |S c c}}w )N�__isabstractmethod__F�__abstractmethods__)�super�__new__�items�getattr�set�add� frozensetr r � _abc_registry� _abc_cache�_abc_negative_cacher r �_abc_negative_cache_version) �mcls�name�bases� namespace�kwargs�cls�value� abstracts�base� __class__s �r r zABCMeta.__new__# s� �� ��g�o�d�D�%��E�f�E�� )2���(9�G�(9���u���'=�u�E� �(9� � G� �D���&;�S�U�C����T�4�0���5�"8�%�@��M�M�$�'� D� � #,�I�"6���#�I��� ����")�)���*1�*K�*K��'�� ��Gs �C%c �� � t |t � st d� �t || � r|S t | |� rt d� �| j j |� t xj dz c_ |S )NzCan only register classesz'Refusing to create an inheritance cycle� ) � isinstance�type� TypeError� issubclass�RuntimeErrorr r r r )r �subclasss r �registerzABCMeta.register6 sp � � � �(�D�)��7�8�8��h��$��O� �c�8�$��H�I�I������h�'��)�)�Q�.�)��r c �< � t d| j � d| j � �|�� t dt � � �|�� | j D ]M }|j d� s�t | |� }t |t � rt |� }t |� d|��|�� �O y )NzClass: �.)�filezInv. counter: �_abc_z: ) �print� __module__�__qualname__r �__dict__� startswithr r'