Format: application/x-python-code
⬇ Download File (16.3 KB)
   1  o
   2  
   3  �h�I�@s�ddlZddlZddlZddlZddlZddlmZddlZddl	Z	ddl
   4  Z
   5  ddlZddlm
   6  Z
   7  ddlmZmZddlmZeeeeeefZeej�Zejejejejej ej!ej"ej#ej$ej%ej&eej'ej(ej)fZ*eej�Zee+j,�Z-ej.d�/e0�Z1ee1d�Z2e0�Z3ej4ej5ej6ej7ej8ej9ej:ej;d�Z<ej=ej>d	�Z?e?�@e<�ejej!ej#ee-e2eAeBfZCe3fd
   8  d�ZDedd
   9  �ZEdd�ZFdd�ZGdd�ZHGdd�d�ZIdeIfdd�ZJdd�ZKGdd�d�ZLdd�ZMdS)�N)�
  10  namedtuple)�Path)�Optional�Tuple)�getattr_static�__dict__�__subclasshook__)z==z!=�iszis not�<z<=�>z>=)�+�-cCsLz	t||�\}}Wnty|tur�|YSwt|t�r$t||�S|S�N)r�AttributeError�	_sentinel�
  11  isinstance�ALLOWED_DESCRIPTOR_ACCESS�getattr)�obj�name�default�attr�is_get_descriptor�r�Tc:\Users\shubh\Videos\agent\nova\Lib\site-packages\jedi/inference/compiled/access.py�safe_getattrNs�
  12  
  13  r�SignatureParamz]name has_default default default_string has_annotation annotation annotation_string kind_namecs�fdd�}|S)Ncs(�|�}t|�dkr|dd�d}|S)N�2z..)�len)�self�r��funcrr�wrapperiszshorten_repr.<locals>.wrapperr)r"r#rr!r�shorten_reprhsr$cCs|j�|�Sr)Zcompiled_subprocessZget_or_create_access_handle)�inference_staterrrr�
  14  create_accessq�r&cCs�tj|}t_z?zt|�Wn3ty(tjd||ftdd�YW|t_dStyAtjdt�	�tdd�YW|t_dSwW|t_n|t_wtj
  15  |}t||�S)Nz$Module %s not importable in path %s.�)�
  16  stacklevelzCannot import:
  17  %s)�sys�path�
  18  __import__�ImportError�warnings�warn�UserWarning�	Exception�	traceback�
  19  format_exc�modules�create_access_path)r%Zdotted_name�sys_path�temp�modulerrr�load_moduleus,
  20  �
  21  	��
  22  ��
  23  
  24  r9c@seZdZdd�ZdS)�
  25  AccessPathcCs
  26  ||_dSr)�accesses�rr;rrr�__init__��
  27  zAccessPath.__init__N)�__name__�
  28  __module__�__qualname__r=rrrrr:�sr:�returncCst||�}t|���Sr)r&r:�get_access_path_tuples)r%r�accessrrrr5�s
  29  r5cCsLt�|�rdSt�|�rdSt�|�s"t�|�s"t�|�s"t�|�r$dSdS)N�classr8�function�instance)�inspect�isclass�ismodule�	isbuiltin�ismethod�ismethoddescriptor�
  30  isfunction�rrrr�get_api_type�s
  31  
  32  ��rPc@s�eZdZdd�Zdd�Zdd�Zdefdd	�Zd
  33  d�Zde	e
  34  fdd
  35  �Zdd�Zdd�Z
  36  dd�Zdd�Zdd�dd�Zdd�Zdd�Zdd�Zd d!�Zed"d#��Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�ZdWdee e e	effd4d5�Z!e"fd6d7�Z#d8d9�Z$d:d;�Z%d<d=�Z&d>d?�Z'd@dA�Z(dBdC�Z)dDdE�Z*dFdG�Z+dHdI�Z,dJdK�Z-dLdM�Z.dNdO�Z/de	efdPdQ�Z0dRdS�Z1dTdU�Z2dVS)X�DirectObjectAccesscCs||_||_dSr)�_inference_state�_obj)rr%rrrrr=�s
  37  zDirectObjectAccess.__init__cCsd|jj|��fS)Nz%s(%s))�	__class__r?�get_repr�rrrr�__repr__��zDirectObjectAccess.__repr__cC�t|j|�Sr�r&rR�rrrrr�_create_access�r'z!DirectObjectAccess._create_accessrBcCrYr)r5rRr[rrr�_create_access_path�r'z&DirectObjectAccess._create_access_pathcC�
  38  t|j�Sr)�boolrSrVrrr�
  39  py__bool__�r>zDirectObjectAccess.py__bool__cCs$zt|jj�WStyYdSwr)rrS�__file__rrVrrr�
  40  py__file__�s
  41  �zDirectObjectAccess.py__file__cCst�|j�pdS)N�)rH�getdocrSrVrrr�	py__doc__�szDirectObjectAccess.py__doc__cCs^t|j�rt�|j�r|j}nz|jj}Wn
  42  tyYdSwz|jWSty.YdSwr)�_is_class_instancerSrHrMrTrr?)r�clsrrr�
  43  py__name__�s
  44  
  45  ���zDirectObjectAccess.py__name__cs"t�fdd��jjdd�D��S)Nc3��|]}��|�VqdSr�r])�.0rgrVrr�	<genexpr>���z7DirectObjectAccess.py__mro__accesses.<locals>.<genexpr>�)�tuplerS�__mro__rVrrVr�py__mro__accesses�s"z$DirectObjectAccess.py__mro__accessescs�t�jt�r�fdd��j��D�St�jttf�r$�fdd��jD�S���r4t�j�jj	�}|�
  46  �Sz�jj}Wn
  47  tyDYdSwt�j|��
  48  �}|durT|gSdS)Nc�g|]}��|��qSrrj�rk�vrVrr�
  49  <listcomp>��z>DirectObjectAccess.py__getitem__all_values.<locals>.<listcomp>crrrrjrsrVrrru�rv)rrS�dict�values�listro�is_instancerQrRrT�py__getitem__all_values�__getitem__r�get_return_annotation)rrg�getitem�
  50  annotationrrVrr{�s"�z*DirectObjectAccess.py__getitem__all_valuesT)�safecCs&|rt|j�tvrdS|�|j|�Sr)�typerS�ALLOWED_GETITEM_TYPESr])r�indexr�rrr�py__simple_getitem__�sz'DirectObjectAccess.py__simple_getitem__cCs�z|jj}Wn
  51  tyYdSwt|j|���}|dur |gSt|j�tvr)gSg}t|j�D]\}}|dkr;|S|�	|�
  52  |��q0|S)N�)rS�__iter__rrQrRr}r�r��	enumerate�appendr])rZiter_method�p�lst�i�partrrr�py__iter__list�s"��z!DirectObjectAccess.py__iter__listcCs|�|jj�Sr)r]rSrTrVrrr�py__class__�zDirectObjectAccess.py__class__cs�fdd��jjD�S)Ncrrrrj)rk�baserVrrru
  53  rvz2DirectObjectAccess.py__bases__.<locals>.<listcomp>)rS�	__bases__rVrrVr�py__bases__	�zDirectObjectAccess.py__bases__cCs2t|jdd�}t|t�rtdd�|D��sdS|S)N�__path__css�|]}t|t�VqdSr)r�str�rkr�rrrrlrmz0DirectObjectAccess.py__path__.<locals>.<genexpr>)rrSrry�all)r�pathsrrr�
  54  py__path__s
  55  �zDirectObjectAccess.py__path__cCszt�|j�rt|j�St|jddd�dkrt|j�St|j�}|tkr)t�|j�St|ddd�dkr7t|j�St�|j�S)Nr@rc�r�builtins)rHrJrS�reprrr�rW�object)r�type_rrrrUs
  56  
  57  
  58  
  59  zDirectObjectAccess.get_reprcC�t�|j�Sr)rHrIrSrVrrr�is_class&r'zDirectObjectAccess.is_classcCst�|j�pt�|j�Sr)rHrNrSrLrVrrr�is_function)szDirectObjectAccess.is_functioncCr�r)rHrJrSrVrrr�	is_module,r'zDirectObjectAccess.is_modulecCr^r)rfrSrVrrrrz/r>zDirectObjectAccess.is_instancecCr�r)rHrMrSrVrrrrM2r'z%DirectObjectAccess.ismethoddescriptorcCsNdd�}|��r
  60  dS||j�}|dur |t|j��}|dur dSt|�d��S)NcSst|dt|dd��S)NrAr?)rrOrrr�try_to_get_name6rXz?DirectObjectAccess.get_qualified_names.<locals>.try_to_get_namer�.)r�rSr�ro�split)rr�rrrr�get_qualified_names5s
  61  z&DirectObjectAccess.get_qualified_namescCr^r)�dirrSrVrrrr�Br>zDirectObjectAccess.dircCs&zt|j�WdStyYdSw)NTF)�iterrS�	TypeErrorrVrrr�has_iterEs
  62  �zDirectObjectAccess.has_itercCs�z
  63  t|j|�\}}WnFtyP|sMtjdd��,t�d�zt|j|�ddfWWd�YSty;YnwWd�YdS1sHwYYdSw|rtt|�t	vrtt
  64  |t�rrt|jd�rrt
  65  |j|j�}dd|��fSdSdS)	NT��record�alwaysF)FFN�__annotations__)TTN)TFN)rrSrr.�catch_warnings�simplefilter�hasattrr1r�rr�property�fgetrQrRr})rrr�rr�arrr�is_allowed_getattrLs2
  66  ��
  67  ���
  68  z%DirectObjectAccess.is_allowed_getattrc
  69  Cs,z#tjdd��t�d�t|j|�}Wd�n1swYWn tyC}z|tur7t|t�r5�t�|}WYd}~nd}~ww|�	|�}t
  70  �|�rQ|gSz|j}Wn	ty_Ynw|duryt|t
  71  �ryzt|�Wn	tyxYnwt
  72  �|�}|dur�t
  73  �t|��}|dur�t}|�	|�|gS)NTr�r�)r.r�r�rrSr1rrrr\rHrJr@r�r,r-�	getmoduler�r�)rrrZ
  74  return_obj�erDr8rrr�
  75  getattr_pathslsD
  76  ��
  77  ��
  78  
  79  
  80  ��
  81  z DirectObjectAccess.getattr_pathscCs<t|j�ttttttfvs|jdur|jStdt|j���)Nz Object is type %s and not simple)	r�rSr_�bytes�float�intr��slice�
  82  ValueErrorrVrrr�get_safe_value�s$z!DirectObjectAccess.get_safe_valuecCr^r)rPrSrVrrrrP�r>zDirectObjectAccess.get_api_typecCst|jt�rdSdS)Nrw)rrSrwrVrrr�get_array_type�sz!DirectObjectAccess.get_array_typecs �fdd�}�fdd�|�D�S)Nc3s2�t�j���D]\}}|dkrdS|VqdS)Nr)r�rS�keys)r��krVrr�iter_partial_keys�s��z;DirectObjectAccess.get_key_paths.<locals>.iter_partial_keyscrrrrj)rkr�rVrrru�rvz4DirectObjectAccess.get_key_paths.<locals>.<listcomp>r)rr�rrVr�
  83  get_key_paths�s	z DirectObjectAccess.get_key_pathscs$�fdd����D�}dd�|D�S)Ncsg|]}t�j|��qSrrZ)rk�orVrrru��z=DirectObjectAccess.get_access_path_tuples.<locals>.<listcomp>cSsg|]}|��|f�qSr)rh)rkrDrrrru�r�)�_get_objects_pathr<rrVrrC�sz)DirectObjectAccess.get_access_path_tuplescs�fdd�}ttt|����S)Nc3s���j}|Vz|j}Wn	tyYnw|Vz|j}Wnty3t�|�s0tVYdSYdSw|dur=tVdSz	tj|VWdSt	yStVYdSwr)
  84  rS�__objclass__rr@rHrJr�r*r4�KeyError)rZimp_plzrVrr�get�s.�
  85  �
  86  
  87  ��
  88  �z1DirectObjectAccess._get_objects_path.<locals>.get)ry�reversed)rr�rrVrr��sz$DirectObjectAccess._get_objects_pathcCs"|j}t|}|�||j|j��Sr)rD�
  89  _OPERATORSr]rS)rZother_access_handle�operatorZother_access�oprrr�execute_operation�sz$DirectObjectAccess.execute_operationcs�d}d}t�jddd�dkr8t�dt�j��}|dur8|�d�}d	dl}tjd
  90  kr0|�	�j�}nt�jddd�}|t
  91  �fdd
  92  �|D��fS)zF
  93          Returns Tuple[Optional[str], Tuple[AccessPath, ...]]
  94          Nrr@rcr��typingztyping.(\w+)\[rnr)���__args__c3rirrj)rk�argrVrrrl�rmzBDirectObjectAccess.get_annotation_name_and_args.<locals>.<genexpr>)rrS�re�matchr��groupr�r*�version_info�get_argsro)rr�args�mr�rrVr�get_annotation_name_and_args�s
  95  
  96  z/DirectObjectAccess.get_annotation_name_and_argscCst�|j�o
  97  |jtkSr)rHrIrSr�rVrrr�needs_type_completions�r�z)DirectObjectAccess.needs_type_completionscCs
  98  t�|�Sr)rH�formatannotation)rrrrr�_annotation_to_str�r>z%DirectObjectAccess._annotation_to_strcs�fdd����j��D�S)NcsZg|])}t|j|j|ju��|j�t|j�|j|ju��|j���|j�t|j	�d��qS))rZhas_defaultrZdefault_stringZhas_annotationrZannotation_stringZ	kind_name)
  99  rrr�emptyr]r�rr�r��kindr�rVrrru�s
 100  �
 101  
 102  
 103  
 104  
 105  ��z;DirectObjectAccess.get_signature_params.<locals>.<listcomp>)�_get_signature�
 106  parametersrxrVrrVr�get_signature_params�s
 107  
 108  �z'DirectObjectAccess.get_signature_paramsc	Cs*|j}zt�|�WSttfyt�wr)rSrH�	signature�RuntimeErrorr�r�r[rrrr�s�z!DirectObjectAccess._get_signaturecCshz	|jj�d�}Wn
 109  tyYdSw|durdSzt�|j��d�}Wn	ty.Ynw|�|�S)NrB)rSr�r�rr��get_type_hintsr1r])rr�rrrr}
 110  s��
 111  z(DirectObjectAccess.get_return_annotationcCs|�|j�Sr)r]rSrVrrr�negater�zDirectObjectAccess.negatecs&t�fdd����D��}���|fS)zw
 112          Used to return a couple of infos that are needed when accessing the sub
 113          objects of an objects
 114          c3s�|]
 115  }|��|�fVqdSr)r�)rkrrVrrrl"s
 116  ��
 117  �z3DirectObjectAccess.get_dir_infos.<locals>.<genexpr>)rwr�r�)rZtuplesrrVr�
 118  get_dir_infoss�z DirectObjectAccess.get_dir_infosN)T)3r?r@rAr=rWr\r:r]r`rrrbrerhrqr{r�r�r�r�r�r$rUr�r�r�rzrMr�r�r�rr_r�rr�r�rPr�r�rCr�r�r�r�r�r�r�r}r�r�rrrrrQ�sV	
 119  
 120   -
 121  rQcCs>z|j}Wn
 122  tyYdSw|tkot|t�ot|t�S)zLike inspect.* methods.F)rTrr�r�
 123  issubclass�NOT_CLASS_TYPES)rrgrrrrf)s
 124  �rf)NrH�typesr2r*r�r��collectionsrr.r�r�r��pathlibrrrZ&jedi.inference.compiled.getattr_staticrr�ryror��	bytearrayrwr�r��replace�MethodDescriptorType�BuiltinFunctionType�CodeType�	FrameType�FunctionType�
 125  GeneratorType�GetSetDescriptorType�
 126  LambdaType�MemberDescriptorType�
 127  MethodType�
 128  ModuleType�
 129  TracebackType�MappingProxyType�SimpleNamespace�DynamicClassAttributer��setr��WrapperDescriptorTyper�__get__r�Zobject_class_dict�ClassMethodDescriptorTyper�eq�ne�is_�is_not�lt�le�gt�geZCOMPARISON_OPERATORS�add�subr��update�staticmethod�classmethodrrrr$r&r9r:r5rPrQrfrrrr�<module>s�
 130  �
 131  
 132  ��
 133  ��