Sindbad~EG File Manager
�
MٜgD � � � d Z ddlmZ ddlmZmZmZ ddlmZ ddl m
Z
ddlmZ erddl
ZddlmZmZ dd lmZ dd
lmZ edd�
� Z d dd�Z d dd�Z G d� de� Z G d� de� Zy)z?
Shared methods for Index subclasses backed by ExtensionArray.
� )�annotations)�
TYPE_CHECKING�Callable�TypeVar)�cache_readonly)�ABCDataFrame)�IndexN)� ArrayLike�npt)�
IntervalArray)�NDArrayBackedExtensionArray�_ExtensionIndexT�ExtensionIndex)�boundc � � ��� t |� � �t �t � st �� j dk( r^|r*� fd�}� |_ �j
|_ t
|� }|S � �fd�}d� fd�}� |_ �j
|_ t ||� }|S t �� s�}|S ��fd�}� |_ �j
|_ |S )a�
Make an alias for a method of the underlying ExtensionArray.
Parameters
----------
name : str
Name of an attribute the class should inherit from its EA parent.
delegate : class
cache : bool, default False
Whether to convert wrapped properties into cache_readonly
wrap : bool, default False
Whether to wrap the inherited result in an Index.
Returns
-------
attribute, method, property, or cache_readonly
�getset_descriptorc �0 �� t | j �� S �N)�getattr�_data)�self�names ��H/usr/local/lib/python3.12/site-packages/pandas/core/indexes/extension.py�cachedz"_inherit_from_data.<locals>.cached: s �� ��t�z�z�4�0�0� c �2 �� t | j �� }�r}t |t | j � � r&t | � j || j
�� S t |t � r|j | � S t || j
�� S |S )N�r ) r r �
isinstance�type�_simple_newr r � set_indexr )r �resultr �wraps ��r �fgetz _inherit_from_data.<locals>.fgetC sx �� � ����T�2���!�&�$�t�z�z�*:�;�#�D�z�5�5�f�4�9�9�5�M�M�#�F�L�9�%�/�/��5�5� ��d�i�i�8�8��
r c �4 �� t | j �|� y r )�setattrr )r �valuer s �r �fsetz _inherit_from_data.<locals>.fsetM s �� ���
�
�D�%�0r c �| �� d|v r!t dt | � j � �� � �| j g|��i |��}�r}t |t | j � � r&t | � j || j �� S t |t � r|j | � S t || j �� S |S )N�inplacezcannot use inplace with r )
�
ValueErrorr �__name__r r r r r r! r )r �args�kwargsr"