
    %`i                     &    d dl Z d Zd Zd Zd ZdS )    Nc                 ^    d } ||           pt          | d          o || j                  S )z1Check if an object is a Cython function or methodc                 2    t          |           j        dk    S )Ncython_function_or_method)type__name__)xs    m/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/_private/inspect_util.pycheck_cythonzis_cython.<locals>.check_cython   s    Aww#>>>    __func__)hasattrr   )objr
   s     r	   	is_cythonr      sH    ? ? ? < Z  ?\\#,%?%?r   c                 p    t          j        |           p"t          j        |           pt          |           S )zCheck if an object is a function or method.

    Args:
        obj: The Python object in question.

    Returns:
        True if the object is an function or method.
    )inspect
isfunctionismethodr   )r   s    r	   is_function_or_methodr      s0     c""Mg&6s&;&;My~~Mr   c                 4    t          | d          o| j        duS )z3Returns whether the given method is a class_method.__self__N)r   r   )fs    r	   is_class_methodr       s    1j!!<aj&<<r   c                     t          j        |           D ]-}||j        v r"t          |j        |         t                    c S .dS )a)  Returns whether the class has a static method with the given name.

    Args:
        cls: The Python class (i.e. object of type `type`) to
            search for the method in.
        f_name: The name of the method to look up in this class
            and check whether or not it is static.
    F)r   getmro__dict__
isinstancestaticmethod)clsf_namebase_clss      r	   is_static_methodr!   %   sU     N3'' G GX&&&h/7FFFFF '5r   )r   r   r   r   r!    r   r	   <module>r#      sW       	N 	N 	N= = =
    r   