
    Mh9                         d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ  G d de          Z G d	 d
e          Z G d de          Z G d de          Z G d de          Z G d de          ZdS )    )ValueWrapper)ModuleValue)ParserTreeFilter)StubNameStubModuleName)TypingModuleFilterWrapper)ModuleContextc                   J     e Zd ZeZ fdZd Z fdZd Zd fd	Z	d Z
 xZS )	StubModuleValuec                 H     t                      j        |i | || _        d S N)super__init__non_stub_value_set)selfr   argskwargs	__class__s       a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jedi/inference/gradual/stub_value.pyr   zStubModuleValue.__init__   s-    $)&)))"4    c                     dS )NT r   s    r   is_stubzStubModuleValue.is_stub   s    tr   c                     i }| j         D ]7}	 |j        }|                     |                       (# t          $ r Y 4w xY w|                    t	                                                                 |S )z
        We have to overwrite this, because it's possible to have stubs that
        don't have code for all the child modules. At the time of writing this
        there are for example no stubs for `json.tool`.
        )r   sub_modules_dictupdateAttributeErrorr   )r   namesvaluemethodr   s       r   r   z StubModuleValue.sub_modules_dict   s     , 	' 	'E'/ VVXX&&&& "    	UWW--//000s   3
A A c                     t          |                                 |          gt          |                                           z   S )N)parent_contextorigin_scope)
StubFilter
as_contextlistiter_star_filters)r   r$   s     r   _get_stub_filtersz!StubModuleValue._get_stub_filters$   sL    ??,,%
 
 
  $((**++, 	,r   Nc              #      K   t                                          |          }t          |d            |                     |          }|E d {V  |E d {V  d S N)r$   )r   get_filtersnextr)   )r   r$   filtersstub_filtersr   s       r   r,   zStubModuleValue.get_filters*   sz      ''%%l33Wd--<-HHr   c                      t          |           S r   )StubModuleContextr   s    r   _as_contextzStubModuleValue._as_context1   s     &&&r   r   )__name__
__module____qualname__r   _module_name_classr   r   r   r)   r,   r2   __classcell__r   s   @r   r   r   	   s        '5 5 5 5 5      ", , ,     ' ' ' ' ' ' 'r   r   c                         e Zd Zd fd	Z xZS )r1   Nc                 H    t                                          |          S r+   )r   r,   )r   until_positionr$   r   s      r   r,   zStubModuleContext.get_filters6   s      ww"""===r   )NNr3   r4   r5   r,   r7   r8   s   @r   r1   r1   5   s=        > > > > > > > > > >r   r1   c                   $     e Zd Z fdZd Z xZS )TypingModuleWrapperc              /      K    t                      j        |i |}t          |d           }|J t          |          V  |E d {V  d S r   )r   r,   r-   r   )r   r   r   r.   fr   s        r   r,   zTypingModuleWrapper.get_filters=   sl      %%''%t6v66$}}}'*****r   c                      t          |           S r   )TypingModuleContextr   s    r   r2   zTypingModuleWrapper._as_contextD   s    "4(((r   )r3   r4   r5   r,   r2   r7   r8   s   @r   r>   r>   <   sG            ) ) ) ) ) ) )r   r>   c                        e Zd Z fdZ xZS )rB   c              /      K    t                      j        |i |}t          t          |d                     V  |E d {V  d S r   )r   r,   r   r-   )r   r   r   r.   r   s       r   r,   zTypingModuleContext.get_filtersI   s^      %%''%t6v66'Wd(;(;<<<<<r   r<   r8   s   @r   rB   rB   H   s8                r   rB   c                   "     e Zd ZeZ fdZ xZS )r%   c                 @   t                                          |          sdS |                                }|dS |j        dv r|j        j        dvrdS |j        }|                    d          r,|                    d          r|                    d          sdS dS )NF)import_fromimport_name)import_as_namedotted_as_name___T)r   _is_name_reachableget_definitiontypeparentr    
startswithendswith)r   name
definitionnr   s       r   rM   zStubFilter._is_name_reachableR   s    ww))$// 	5 ((**
5?<<<{'KKKuJ<< 	all4&8&8 	QZZ=M=M 	5tr   )r3   r4   r5   r   
name_classrM   r7   r8   s   @r   r%   r%   O   s=        J        r   r%   c                       e Zd ZdS )VersionInfoN)r3   r4   r5   r   r   r   rX   rX   e   s        Dr   rX   N)jedi.inference.base_valuer   jedi.inference.value.moduler   jedi.inference.filtersr   jedi.inference.namesr   r   jedi.inference.gradual.typingr   jedi.inference.contextr	   r   r1   r>   rB   r%   rX   r   r   r   <module>r_      s   2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 9 9 9 9 9 9 9 9 C C C C C C 0 0 0 0 0 0)' )' )' )' )'k )' )' )'X> > > > > > > >	) 	) 	) 	) 	)/ 	) 	) 	)    -       !   ,	 	 	 	 	, 	 	 	 	 	r   