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/compiled/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

p�{c.P��D�dZddlZddlmZddlmZddlmZddlm	Z	ddl
mZddlm
Z
dd	lmZdd
lmZddlmZmZmZddlmZmZmZdd
lmZddlmZddlmZddl m!Z!ddl"m#Z#ddl$m%Z%m&Z&Gd�d��Z'Gd�de��Z(Gd�de(��Z)Gd�de��Z*Gd�dee��Z+Gd�dee��Z,Gd�d ee��Z-Gd!�d"e��Z.Gd#�d$e��Z/d%d&d'd(d&d)�Z0d*�Z1d+�Z2d,�Z3d-�Z4e3e��d.�����Z5dS)/z$
Imitate the parser representation.
�N)�partial)�	Parameter)�Path)�Optional)�debug)�to_list)�memoize_method)�AbstractFilter)�AbstractNameDefinition�ValueNameMixin�ParamNameInterface)�Value�ValueSet�	NO_VALUES)�LazyKnownValue)�	_sentinel)�inference_state_function_cache)�reraise_getitem_errors)�BuiltinSignature)�CompiledContext�CompiledModuleContextc�&�eZdZdZdd�Zd�Zd�ZdS)�CheckAttributezARaises :exc:`AttributeError` if the attribute X is not available.Nc��||_dS�N)�
check_name)�selfrs  �?/usr/lib/python3/dist-packages/jedi/inference/compiled/value.py�__init__zCheckAttribute.__init__s
��$�����c�J�||_|j�|jdd�|_|S)N�)�funcr�__name__)rr#s  r�__call__zCheckAttribute.__call__s(����	��?�"�"�m�A�B�B�/�D�O��r c�r�|�|S|j�|j��t|j|��Sr)�
access_handle�
getattr_pathsrrr#)r�instance�owners   r�__get__zCheckAttribute.__get__%s:�����K�	��,�,�T�_�=�=�=��t�y�(�+�+�+r r)r$�
__module__�__qualname__�__doc__rr%r+�r rrrsL������K�K�%�%�%�%����,�,�,�,�,r rc����eZdZd(�fd�	Z�fd�Ze��d���Ze��d���Ze��d���Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zed���Zd�Zd�Zed���Zed���Zd)d�Zed���Z�fd�Z�fd�Zd(�fd�	Zd�Zed���Z d�Z!e"fd�Z#d�Z$�fd �Z%d!�Z&d"�Z'd#�Z(ed$���Z)d%�Z*d*d'�Z+�xZ,S)+�
CompiledValueNc�Z��t���||��||_dSr)�superrr')r�inference_stater'�parent_context�	__class__s    �rrzCompiledValue.__init__/s+���
������.�9�9�9�*����r c����|j���}|�'t|j|�����S	|j�d��|j���r,ddlm}t||j|j
||��g��St|�|����S#t$r$t���|��cYSwxYw)Nr%r)�CompiledInstance)r'�get_return_annotation�create_from_access_pathr4�execute_annotationr(�is_class�jedi.inference.valuer8rr5�_execute_function�AttributeErrorr3�
py__call__)r�	arguments�return_annotationr8r6s    �rr@zCompiledValue.py__call__3s��� �.�D�D�F�F���(�*��$�!���!� �"�"�
#�
	C���,�,�Z�8�8�8��!�*�*�,�,�
C�A�A�A�A�A�A��$�$�T�%9�4�;N�PT�V_�`�`�!���� �� 6� 6�y� A� A�B�B�B���	1�	1�	1��7�7�%�%�i�0�0�0�0�0�	1���s�C�+C4�3C4c�Z�t|j|j�����Sr)r:r4r'�py__class__�rs rrDzCompiledValue.py__class__Is$��&�t�';�T�=O�=[�=[�=]�=]�^�^�^r c�p���ft�fd��j���D����zS)Nc3�B�K�|]}t�j|��V��dSr�r:r4��.0�accessrs  �r�	<genexpr>z*CompiledValue.py__mro__.<locals>.<genexpr>OsD�����
�
��
$�D�$8�&�A�A�
�
�
�
�
�
r )�tupler'�py__mro__accessesrEs`r�	py__mro__zCompiledValue.py__mro__MsS����w��
�
�
�
��,�>�>�@�@�
�
�
�
�
�
�	
r c�h��t�fd��j���D����S)Nc3�B�K�|]}t�j|��V��dSrrHrIs  �rrLz,CompiledValue.py__bases__.<locals>.<genexpr>VsD�����
�
��
$�D�$8�&�A�A�
�
�
�
�
�
r )rMr'�py__bases__rEs`rrRzCompiledValue.py__bases__TsJ����
�
�
�
��,�8�8�:�:�
�
�
�
�
�	
r c�4�|j���Sr)r'�get_qualified_namesrEs rrTz!CompiledValue.get_qualified_names[s���!�5�5�7�7�7r c�4�|j���Sr)r'�
py__bool__rEs rrVzCompiledValue.py__bool__^����!�,�,�.�.�.r c�4�|j���Sr)r'r<rEs rr<zCompiledValue.is_classas���!�*�*�,�,�,r c�4�|j���Sr)r'�is_functionrEs rrZzCompiledValue.is_functiond����!�-�-�/�/�/r c�4�|j���Sr)r'�	is_modulerEs rr]zCompiledValue.is_moduleg����!�+�+�-�-�-r c��dS)NTr/rEs r�is_compiledzCompiledValue.is_compiledjs���tr c��dS)NFr/rEs r�is_stubzCompiledValue.is_stubms���ur c�4�|j���Sr)r'�is_instancerEs rrdzCompiledValue.is_instancepr[r c�4�|j���Sr)r'�	py__doc__rEs rrfzCompiledValue.py__doc__sr^r c#��K�	|j���}|D]}t||��V��dS#t$r�|���\}}|sg}n|�d��}|j���r|�dd��|D]@}|����	d��\}}}	t|||	��V��AYdSwxYw)N�,rr�=)r'�get_signature_params�SignatureParamName�
ValueError�_parse_function_doc�split�ismethoddescriptor�insert�strip�	partition�UnresolvableParamName)
r�signature_params�signature_param�
params_str�ret�tokens�p�name�_�defaults
          r�get_param_nameszCompiledValue.get_param_namesvs<����	@�#�1�F�F�H�H��$4�
@�
@��(���?�?�?�?�?�?�
@�
@���
	A�
	A�
	A�"�6�6�8�8�O�J���
/����#�)�)�#�.�.���!�4�4�6�6�
)��
�
�a��(�(�(��
A�
A��#$�7�7�9�9�#6�#6�s�#;�#;� ��a��+�D�$��@�@�@�@�@�@�
A�
A�
A�
	A���s�6�B-C'�&C'c�R�|���\}}t||��gSr)rmr)rr{�
return_strings   r�get_signatureszCompiledValue.get_signatures�s+���3�3�5�5���=� ��}�5�5�6�6r c�V�d|jj�d|j����d�S�N�<�: �>)r6r$r'�get_reprrEs r�__repr__zCompiledValue.__repr__�s/���!�^�4�4�4�d�6H�6Q�6Q�6S�6S�6S�6S�T�Tr c�P�|���}|�dSt|��S)N)�r�)rfrm)r�docs  rrmz!CompiledValue._parse_function_doc�s)���n�n�����;��6�"�3�'�'�'r c�4�|j���Sr)r'�get_api_typerEs r�api_typezCompiledValue.api_type�s���!�.�.�0�0�0r Fc#�8K�|�|��V�dSr)�_ensure_one_filter)rrd�origin_scopes   r�get_filterszCompiledValue.get_filters�s&�����%�%�k�2�2�2�2�2�2�2r c�.�t|j||��Sr)�CompiledValueFilterr4)rrds  rr�z CompiledValue._ensure_one_filter�s��"�4�#7��{�K�K�Kr c���tttt��5	|j�|��}n=#t$r0t���|��cYcddd��SwxYw	ddd��n#1swxYwY|�!t���|��Stt|j
|��g��Sr)r�
IndexError�KeyError�	TypeErrorr'�py__simple_getitem__r?r3rr:r4)r�indexrKr6s   �rr�z"CompiledValue.py__simple_getitem__�s(���
#�J��)�
D�
D�	;�	;�
;��+�@�@��G�G����!�
;�
;�
;��w�w�3�3�E�:�:�:�:�		;�	;�	;�	;�	;�	;�	;�	;�
;�����	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�
�>��7�7�/�/��6�6�6��0��1E�v�N�N�O�P�P�Ps1�B	�?�B	�+A9�*B	�8A9�9B	�	B
�B
c�����j���}|�"t���||��St	�fd�|D����S)Nc3�B�K�|]}t�j|��V��dSrrHrIs  �rrLz.CompiledValue.py__getitem__.<locals>.<genexpr>�sD�����
�
��
$�D�$8�&�A�A�
�
�
�
�
�
r )r'�py__getitem__all_valuesr3�
py__getitem__r)r�index_value_set�contextualized_node�all_access_pathsr6s`   �rr�zCompiledValue.py__getitem__�st�����-�E�E�G�G���#��7�7�(�(��:M�N�N�N��
�
�
�
�*�
�
�
�
�
�	
r c#��K�|j���s't���|��Ed{V��|j���}|�dS|D]&}tt
|j|����V��'dSr)r'�has_iterr3�
py__iter__�py__iter__listrr:r4)rr��access_path_listrKr6s    �rr�zCompiledValue.py__iter__�s�������!�*�*�,�,�	?��w�w�)�)�*=�>�>�>�>�>�>�>�>�>��-�<�<�>�>���#��F�&�	X�	X�F� �!8��9M�v�!V�!V�W�W�W�W�W�W�	X�	Xr c�4�|j���Sr)r'�
py__name__rEs rr�zCompiledValue.py__name__�rWr c��|���}|�|j���}t||��Sr)r�r'r��CompiledValueName�rrzs  rrzzCompiledValue.name�s:����� � ���<��%�.�.�0�0�D� ��t�,�,�,r c#�K�ddlm}ddlm}|jdkrdS|���d���D]i}	|jjj	�
|��||j|��}|j�||��Ed{V���Z#t$rY�fwxYw|�
|��Ed{V��dS)Nr)�
docstrings��builtin_from_name�function�)�jedi.inferencer��jedi.inference.compiledr�r�rmrnr4�builtins_moduler'r(�executer?�infer_return_types)r�paramsr�r�rz�bltn_objs      rr>zCompiledValue._execute_function�s%����-�-�-�-�-�-�=�=�=�=�=�=��=�J�&�&��F��,�,�.�.�q�1�7�7�9�9�		J�		J�D�
J��$�4�B�P�P�QU�V�V�V�-�,�T�-A�4�H�H���/�7�7��&�I�I�I�I�I�I�I�I�I�I��	"�
�
�
���
����
�0�0��6�6�6�6�6�6�6�6�6�6�6s�$B"�"
B/�.B/c�r�	|j���S#t$r|tkr�|cYSwxYwr)r'�get_safe_valuerlr)rr|s  rr�zCompiledValue.get_safe_value�sN��	��%�4�4�6�6�6���	�	�	��)�#�#���N�N�N�	���s��6�6c	��	tt|j|j�|j|����g��S#t
$r
tcYSwxYwr)rr:r4r'�execute_operationr�r)r�other�operators   rr�zCompiledValue.execute_operation�ss��	��4��$��"�4�4�U�5H�(�S�S������
���	�	�	�����	���s�AA�A�Ac�������j���dkrt�g��S�j���\}}�fd�|D���|dkrtjd��D����S|rJt�fd��jj�|��D�������St�����S)N�Nonec�V��g|]%}tt�j|��g����&Sr/)rr:r4)rJ�pathrs  �r�
<listcomp>z4CompiledValue.execute_annotation.<locals>.<listcomp>�sB���
�
�
��
�-�d�.B�D�I�I�J�K�K�
�
�
r �Unionc3�>K�|]}|���V��dSr)r;)rJ�args  rrLz3CompiledValue.execute_annotation.<locals>.<genexpr>�s.����%T�%T�3�c�&<�&<�&>�&>�%T�%T�%T�%T�%T�%Tr c�:��g|]}|������Sr/)�
with_generics)rJ�vrAs  �rr�z4CompiledValue.execute_annotation.<locals>.<listcomp>s5����������	�*�*���r )
r'r�r�get_annotation_name_and_args�	from_setsr4�
typing_module�py__getattribute__r;r3)rrz�argsrAr6s`  @�rr;z CompiledValue.execute_annotation�s�������&�&�(�(�F�2�2��T�F�#�#�#��'�D�D�F�F�
��d�
�
�
�
��
�
�
�	��7�?�?��%�%T�%T�)�%T�%T�%T�T�T�T�
�	$�������-�;�N�N�t�T�T������"�!�#�#�
$��w�w�)�)�+�+�+r c�Z�t|j|j�����Sr)r:r4r'�negaterEs rr�zCompiledValue.negates$��&�t�';�T�=O�=V�=V�=X�=X�Y�Y�Yr c��tSr�rrEs r�get_metaclasseszCompiledValue.get_metaclasses����r c� �t|��Sr)rrEs r�_as_contextzCompiledValue._as_contexts���t�$�$�$r c�4�|j���Sr)r'�get_array_typerEs r�
array_typezCompiledValue.array_types���!�0�0�2�2�2r c�N���fd��j���D��S)Nc�:��g|]}t�j|����Sr/rH)rJ�krs  �rr�z0CompiledValue.get_key_values.<locals>.<listcomp>s6���
�
�
��
$�D�$8�!�<�<�
�
�
r )r'�
get_key_pathsrEs`r�get_key_valueszCompiledValue.get_key_valuess=���
�
�
�
��'�5�5�7�7�
�
�
�	
r Tc�@�|j���dvrdSdS)N)r�z<class 'NoneType'>r�)r'r�)r�add_class_infos  r�
get_type_hintzCompiledValue.get_type_hints'����&�&�(�(�,J�J�J��6��tr r)FN)T)-r$r,r-rr@rrDrOrRrTrVr<rZr]r`rbrdrfrr}r�r�r	rm�propertyr�r�r�r�r�r�r�rzr>rr�r�r;r�r�r�r�r�r��
__classcell__)r6s@rr1r1.s;�������+�+�+�+�+�+�C�C�C�C�C�,�^���_�_���_��^���
�
���
��^���
�
���
�8�8�8�/�/�/�-�-�-�0�0�0�.�.�.�������0�0�0�.�.�.�
�@�@�
�W�@�$7�7�7�U�U�U��(�(��^�(��1�1��X�1�3�3�3�3��L�L��^�L�	Q�	Q�	Q�	Q�	Q�	
�	
�	
�	
�	
�
X�
X�
X�
X�
X�
X�/�/�/��-�-��X�-�7�7�7�$&/��������,�,�,�,�,�,Z�Z�Z����%�%�%��3�3��X�3�
�
�
��������r r1c�R�eZdZdZd�Zd�Zd�Zed���Zde	e
fd�ZdS)�CompiledModuleNc� �t|��Sr)rrEs rr�zCompiledModule._as_context$s��$�T�*�*�*r c�4�|j���Sr)r'�
py__path__rEs rr�zCompiledModule.py__path__'rWr c�.�|���duSr)r�rEs r�
is_packagezCompiledModule.is_package*s����� � ��,�,r c�v�|���}|�dSt|�d����S)Nr/�.)r�rMrnr�s  r�string_nameszCompiledModule.string_names-s5����� � ���<��2��T�Z�Z��_�_�%�%�%r �returnc�4�|j���Sr)r'�
py__file__rEs rr�zCompiledModule.py__file__5rWr )r$r,r-�file_ior�r�r�r�r�rrr�r/r rr�r�!s��������G�+�+�+�/�/�/�-�-�-��&�&��X�&�/�H�T�N�/�/�/�/�/�/r r�c�^�eZdZd�Zd�Zd�Zd�Zd�Zed���Z	d�Z
ed���Zd	S)
�CompiledNamec�b�||_|���|_||_||_dSr)�_inference_state�
as_contextr5�
_parent_value�string_name)rr4�parent_valuerzs    rrzCompiledName.__init__:s4�� /���*�5�5�7�7���)�������r c�N�|������Sr)�infer_compiled_valuerfrEs rrfzCompiledName.py__doc__@s ���(�(�*�*�4�4�6�6�6r c�R�|j���}|�dS||jfzSr)r5rTr�)r�parent_qualified_namess  r�_get_qualified_namesz!CompiledName._get_qualified_namesCs3��!%�!4�!H�!H�!J�!J��!�)��4�%��)9�(;�;�;r c��|j}|���s|���r|j���SdSr)r5r]r<�	get_value)r�contexts  r�get_defining_qualified_valuez)CompiledName.get_defining_qualified_valueIsK���%�������	3�'�"2�"2�"4�"4�	3��&�0�0�2�2�2��tr c�x�	|jj}n#t$rd}YnwxYwd|jj�d|�d|j�d�S)Nr�z: (z).r�)r5rzr?r6r$r�r�s  rr�zCompiledName.__repr__Ps^��	��&�+�D�D���	�	�	��D�D�D�	�����"&�.�"9�"9�"9�4�4�4��AQ�AQ�AQ�R�Rs���c�4�|���jSr)r�r�rEs rr�zCompiledName.api_typeWs���(�(�*�*�3�3r c�F�t|���g��Sr)rr�rEs r�inferzCompiledName.infer[s����2�2�4�4�5�6�6�6r c�B�t|j|j|j��Sr)�create_from_namer�r�r�rEs rr�z!CompiledName.infer_compiled_value^s���� 5�t�7I�4�K[�\�\�\r N)
r$r,r-rrfr�rr�r�r�rr	r�r/r rr�r�9s������� � � �7�7�7�<�<�<����S�S�S��4�4��X�4�7�7�7��]�]��^�]�]�]r r�c�<�eZdZd�Zed���Zd�Zd�Zd�ZdS)rkc�,�|j|_||_dSr)r5�_signature_param)r�compiled_valuerus   rrzSignatureParamName.__init__ds��,�;��� /����r c��|jjSr)r
rzrEs rr�zSignatureParamName.string_namehs���$�)�)r c��|���|jz}|jjr|d|jjzz
}|jjr|d|jjzz
}|S)Nr�ri)�_kind_stringr�r
�has_annotation�annotation_string�has_default�default_string)r�ss  r�	to_stringzSignatureParamName.to_stringlsg�������$�"2�2��� �/�	@�
���-�?�?�?�A�� �,�	<�
��t�,�;�;�;�A��r c�@�tt|jj��Sr)�getattrrr
�	kind_namerEs r�get_kindzSignatureParamName.get_kindts���y�$�"7�"A�B�B�Br c���|j}|jj}t}|jr#tt
||j��g��}|jr,t
||j	��}||�
��z}|Sr)r
r5r4rrrr:r|r�
annotation�execute_with_values)rryr4�valuesrs     rrzSignatureParamName.inferwsy���!���-�=�����=�	U��6���	�R�R�S�T�T�F���	7�0��!�,�O�O�J��j�4�4�6�6�6�F��
r N)	r$r,r-rr�r�rrrr/r rrkrkcsn������0�0�0��*�*��X�*����C�C�C�	�	�	�	�	r rkc�&�eZdZd�Zd�Zd�Zd�ZdS)rsc�:�|j|_||_||_dSr)r5r��_default)rrrzr|s    rrzUnresolvableParamName.__init__�s ��,�;��������
�
�
r c��tjSr)r�POSITIONAL_ONLYrEs rrzUnresolvableParamName.get_kind�s���(�(r c�<�|j}|jr
|d|jzz
}|S)Nri)r�r)r�strings  rrzUnresolvableParamName.to_string�s*���!���=�	*��c�D�M�)�)�F��
r c��tSrr�rEs rrzUnresolvableParamName.infer�r�r N)r$r,r-rrrrr/r rrsrs�sP������ � � �
)�)�)��������r rsc��eZdZd�ZdS)r�c�:�||_||_|j|_dSr)r��_valuer5)r�valuerzs   rrzCompiledValueName.__init__�s"��������#�2����r N)r$r,r-rr/r rr�r��s#������3�3�3�3�3r r�c��eZdZdZd�Zd�ZdS)�EmptyCompiledNamez�
    Accessing some names will raise an exception. To avoid not having any
    completions, just give Jedi the option to return this object. It infers to
    nothing.
    c�,�|j|_||_dSr)r�r5r�)rr4rzs   rrzEmptyCompiledName.__init__�s��-�=�������r c��tSrr�rEs rrzEmptyCompiledName.infer�r�r N)r$r,r-r.rrr/r rr*r*�s<��������
 � � �����r r*c�N�eZdZd
d�Zd�Zd
d�Zed
d���Zd�Zd�Z	d�Z
d	S)r�Fc�0�||_||_||_dSr)r�rrd)rr4rrds    rrzCompiledValueFilter.__init__�s �� /���,���&����r c�Z��|jj�|�|�fd��fd�d���S)Nc�2����||���S)N��safe)�is_allowed_getattr)rzr2r's  �r�<lambda>z)CompiledValueFilter.get.<locals>.<lambda>�s���}�?�?��4�?�P�P�r c�0��|����vSr)�dir)rzr's �rr4z)CompiledValueFilter.get.<locals>.<lambda>�s�����!2�!2�!4�!4�4�r T)�check_has_attribute)rr'�_get)rrzr's  @r�getzCompiledValueFilter.get�sG����+�9�
��y�y��P�P�P�P�4�4�4�4� $�	�
�
�	
r c��|jjr	|||jj���\}}|r|sgS|s|s$|jjs|�|d���gS|jr
||��sgS|�|��gS)zU
        To remove quite a few access calls we introduced the callback here.
        r1T)�is_empty)r��allow_descriptor_getattr�_get_cached_namerd)rrz�allowed_getattr_callback�in_dir_callbackr7�
has_attribute�
is_descriptors       rr8zCompiledValueFilter._get�s���� �9�	��'?�'?���*�C�C�(
�(
�(
�$�
�}��	�}�	��I��	@��	@��-�F�	@��)�)�$��)�>�>�?�?���	�O�O�D�$9�$9�	��I��%�%�d�+�+�,�,r c�Z�|rt|j|��S|�|��Sr)r*r��_create_name)rrzr;s   rr=z$CompiledValueFilter._get_cached_name�s1���	+�$�T�%:�D�A�A�A��$�$�T�*�*�*r c�0��ddlm}g}|jj���\}��D]"}||�|�fd��fd���z
}�#|js?|r=||jd�����D]}||�	��z
}�|S)Nrr�c����|Srr/)rzr2�	dir_infoss  �rr4z,CompiledValueFilter.values.<locals>.<lambda>�s���9�T�?�r c���|�vSrr/)rzrFs �rr4z,CompiledValueFilter.values.<locals>.<lambda>�s���T�Y�.�r �type)
r�r�rr'�
get_dir_infosr8rdr�r�r)rr��names�needs_type_completionsrz�filterrFs      @rrzCompiledValueFilter.values�s����=�=�=�=�=�=���,0�,?�,M�,[�,[�,]�,]�)��	��	�	�D��T�Y�Y��2�2�2�2�.�.�.�.���
�E�E���	)�$:�	)�+�+�D�,A�6�J�J�V�V�X�X�
)�
)��������(����r c�8�t|j|j|��Sr)r�r�rr�s  rrCz CompiledValueFilter._create_name�s#����!����
�
�	
r c�2�d|jj�d|j�d�Sr�)r6r$rrEs rr�zCompiledValueFilter.__repr__�s#���!�^�4�4�4�d�6I�6I�6I�J�Jr N)F)r$r,r-rr9r8r	r=rrCr�r/r rr�r��s�������'�'�'�'�

�
�
�-�-�-�-�,�+�+�+��^�+����,
�
�
�K�K�K�K�Kr r��float�str�int�dict)zfloating point number�	character�integer�
dictionaryr#c�$�	d}|�d��}t||d���D])\}}|dkr|dz
}n|dkr|dz}|dkr||z}n�*||dz|�}d�}	tjd||��\}}|dkrn�!n/#tt
f$rt
jd	��d}d
}YnwxYw|�dd��}tj	d
|||dz���}	|	�d
}
n�||	�
��z}tjd��}|�||���
d�����}
tjdd|
��}
t �|
|
��}
||
fS)z�
    Takes a function and returns the params and return value as a tuple.
    This is nothing more than a docstring parser.

    TODO docstrings like utime(path, (atime, mtime)) and a(b [, b]) -> None
    TODO docstrings like 'tuple of integers'
    r�(Nr��)c���|�d���d��}t|��D]\}}|rd|vr||xxdz
cc<�d�|��S)Nr�rhriz=None)�grouprn�	enumerate�join)�mr��i�as    r�change_optionsz+_parse_function_doc.<locals>.change_optionsso���7�7�1�:�:�#�#�C�(�(�D�!�$���
'�
'���1��'��A�����G�G�G�w�&�G�G�G���8�8�D�>�>�!r Tz ?\[([^\[\]]+)\]zno brackets found - no paramr��-r{z-[>-]* �z
(,\n|[^\n-])+z[nN]ew (.*)z\1())r�r[�re�subnrl�UnboundLocalErrorr�dbg�replace�search�end�compile�matchrZrq�sub�docstr_defaultsr9)r��count�startr^rri�	param_strr`�changes�rrwr��pattern�ret_strs              rrmrms�������	�	�#�����c�%�&�&�k�*�*�	�	�D�A�q��C�x�x���
����c�����
����z�z��a�i��������	�#�
�&�	�	"�	"�	"�	�!#��)<�)7��"D�"D��I�w��!�|�|��		���'
�)�*����	�	�0�1�1�1����	�	�	�����(�!�!�#�s�+�+�I�	�	�)�S��S�1�W��-�.�.�A��y�����a�e�e�g�g�
���*�-�.�.���-�-��U�+�+�1�1�!�4�4�:�:�<�<���&���'�:�:���!�!�'�7�3�3���c�>�s�A%B
�
)B9�8B9c��|j�|d���}d}|D]*}t|||�dn|������}�+|S)N)r|�r5)r'r(�create_cached_compiled_valuer�)r4rrz�access_pathsr(�access_paths      rrr=sk��!�/�=�=�d�D�=�Q�Q�L��E�#�
�
��,���#(�=�4�4�e�6F�6F�6H�6H�
�
�
���
�Lr c���d�fd�	}|S)z5The cache doesn't care about keyword vs. normal args.Nc����|||��Srr/)r4�objr5r#s   �r�wrapperz'_normalize_create_args.<locals>.wrapperLs����t�O�S�.�9�9�9r rr/)r#r}s` r�_normalize_create_argsr~Js&���:�:�:�:�:�:��Nr c�t�d}|jD]-\}}t|||�dn|������}�.|S)Nrv)�accessesrwr�)r4ryr(rzrKs     rr:r:QsW���E�#�,�
�
���f�,���#(�=�4�4�e�6F�6F�6H�6H�
�
�
���
�Lr c�l�t|t��rJ�|�t}nt}||||��Sr)�
isinstancer1r�)r4r'r5�clss    rrwrw\s@���.�-�8�8�8�8�8���������3��
�~�>�>�>r )6r.rc�	functoolsr�inspectr�pathlibr�typingr�jedir�jedi.inference.utilsr�
jedi.cacher	�jedi.inference.filtersr
�jedi.inference.namesrrr
�jedi.inference.base_valuerrr�jedi.inference.lazy_valuer�jedi.inference.compiled.accessr�jedi.inference.cacher�jedi.inference.helpersr�jedi.inference.signaturer�jedi.inference.contextrrrr1r�r�rkrsr�r*r�rmrmrr~r:rwr/r r�<module>r�s�����
�	�	�	�������������������������������(�(�(�(�(�(�%�%�%�%�%�%�1�1�1�1�1�1�����������@�@�@�@�@�@�@�@�@�@�4�4�4�4�4�4�4�4�4�4�4�4�?�?�?�?�?�?�9�9�9�9�9�9�5�5�5�5�5�5�I�I�I�I�I�I�I�I�,�,�,�,�,�,�,�,�*p�p�p�p�p�E�p�p�p�f/�/�/�/�/�]�/�/�/�0']�']�']�']�']�)�']�']�']�T�����+�-C����@�����.�0F����&3�3�3�3�3��(>�3�3�3������.����JK�JK�JK�JK�JK�.�JK�JK�JK�\%��������9�9�9�x
�
�
����������!�!�?�?�"�!���?�?�?r 

Youez - 2016 - github.com/yon3zu
LinuXploit