
    IR-eP                     r    d Z ddlZddlZddlmZ ddgZej        dk     Z eddd	
          d             ZdS )z
Simple utility functions and bug fixes for compatibility with all supported
versions of Python.  This module should generally not be used directly, as
everything in `__all__` will be imported into `astropy.utils.compat` and can
be accessed from there.
    N)
deprecatedoverride__dir__PYTHON_LT_3_11)      z5.2z=http://bugs.python.org/issue12166 is resolved, {alternative}.z/use ``sorted(super().__dir__() + ...)`` instead)sincemessagealternativec                 F     t          j                    fd            }|S )a  
    When overriding a __dir__ method on an object, you often want to include the
    "standard" members on the object as well.  This decorator takes care of that
    automatically, and all the wrapped function needs to do is return a list of
    the "special" members that wouldn't be found by the normal Python means.

    Example
    -------

    Your class could define __dir__ as follows::

        @override__dir__
        def __dir__(self):
            return ['special_method1', 'special_method2']

    Notes
    -----
    This function was introduced because of http://bugs.python.org/issue12166,
    which has since been resolved by
    http://hg.python.org/cpython/rev/8f403199f999. Now, the best way to
    customize ``__dir__`` is to use ``super``.
    ::

        def __dir__(self):
            added = {'special_method1', 'special_method2'}
            return sorted(set(super().__dir__()) | added)
    c                     t          t                              |                     }|                     |                      t	          |          S )N)setobject__dir__updatesorted)selfmembersfs     9lib/python3.11/site-packages/astropy/utils/compat/misc.pyoverride__dir__wrapperz/override__dir__.<locals>.override__dir__wrapper6   sB    fnnT**++qqwwg    )	functoolswraps)r   r   s   ` r   r   r      s<    F _Q    
 "!r   )	__doc__r   sysastropy.utils.decoratorsr   __all__version_infor   r    r   r   <module>r       s         



 / / / / / /.
/!G+ 
KA  
$" $" 
$" $" $"r   