3 �^e � @ s d dl mZ G dd� d�ZdS )� )�WeakKeyDictionaryc @ s2 e Zd ZdZdd� Zddd�Zdd� Zd d � ZdS )�DiffResultDescriptorz%Descriptor for managing diff results.c C s || _ t� | _d S )N)� diff_functionr � instances)�selfr � r �#/usr/lib64/python3.6/descriptors.py�__init__ s zDiffResultDescriptor.__init__Nc C s: |d kr| S | j j|d �d kr0t|| j�}|� | j | S )N)r � setdefault�getattrr )r �objZobjtypeZdiffr r r �__get__% s zDiffResultDescriptor.__get__c C s || j |<