
    X-Ph                       U d Z ddlmZ ddlZddlZddlmZmZmZ ddl	m
Z
  eej                  Zded<    e e            j                  Zded<    eej                  Zded	<   ej        ej        ej        eeefZded
<   h dZded<   eeee ed          ehZded<   eeee hZ!ded<   ej"        hZ#ded<   d#dZ$d$dZ%d$dZ&d%dZ'd&d"Z(dS )'z.Find all objects reachable from a root object.    )annotationsN)IterableIteratorMapping)Finalr   method_descriptor_typemethod_wrapper_typewrapper_descriptor_typeFUNCTION_TYPES>   __doc____dict____name__	__class__ATTR_BLACKLISTATOMIC_TYPE_BLACKLISTCOLLECTION_TYPE_BLACKLISTTYPE_BLACKLISToobjectattrstrreturnboolc                d    t          t          t          |           |d           t                    S N)
isinstancegetattrtypeproperty)r   r   s     T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mypy/server/objgraph.py
ispropertyr!   #   s$    gd1ggtT22H===    Iterator[tuple[object, object]]c              #  \  K   dt          t          |           d          v rd S t          |           t          vrxt          |           D ]h}	 |t          vrLt          | |          r<t          | |          s,t          | |          }t          |          t          vr||fV  Y# t          $ r Y ew xY wt          | t                    r|                                 E d {V  d S t          | t                    r0t          | t                    st          |           D ]\  }}||fV  d S d S d S )N__getattribute__r   )r   r   r   dirr   hasattrr!   r   AssertionErrorr   r   itemsr   r   	enumerate)r   r   eis       r    get_edge_candidatesr-   '   sm     WT!WWj9999Aww///FF 	 	D~--'!T2B2B-:VWY]K^K^-4((AAww&;;;"Ag!   !W 7799	Ax	 	  As);); aLL 	 	DAqQ$JJJJ   	 	s   AB""
B/.B/c              #  `  K   t          |           D ]\  }}t          |t                    ret          |d          r|df|j        fV  t          |d          r7|j        }|| ur,|t          |           urt          |d          r|j        |fV  t          |          t          vr||fV  d S )N__closure____self__)r-   r   r   r'   r/   r0   r   r   )r   sr+   ses       r    	get_edgesr3   ;   s      #A&&  1a(( 	 q-(( 8-(!-7777q*%% )ZQ;;2T!WW#4#4J9O9O#4*b.(((Awwn,,d


 r"   root7tuple[dict[int, object], dict[int, tuple[int, object]]]c                D   i }t          |           | i}| g}|r|                                }t          |          D ]_\  }}t          |          |v rt          |          |f|t          |          <   ||t          |          <   |                    |           `|||fS r   )idpopr3   append)r4   parentsseenworklistr   r1   r+   s          r    get_reachable_graphr=   L   s    GtHHdDvH
 LLNNaLL 	 	DAq!uu}} eeQZGBqEENDAKOOA   =r"   r;   dict[int, object]r:   dict[int, tuple[int, object]]list[tuple[object, object]]c                    g }t          |           |v rH|t          |                    \  }}||         } |                    || f           t          |           |v H|                                 |S r   )r7   r9   reverse)r   r;   r:   pathpidr   s         r    get_pathrE   \   ss     D
Q%%7

BqEEN	TIT1I Q%%7

 	LLNNNKr"   )r   r   r   r   r   r   )r   r   r   r#   )r4   r   r   r5   )r   r   r;   r>   r:   r?   r   r@   ))r   
__future__r   typesweakrefcollections.abcr   r   r   typingr   r   r   __dir__r   __annotations____ne__r	   r
   BuiltinFunctionTypeFunctionType
MethodTyper   r   r   intfloatr   r   listsetdicttupler   ReferenceTyper   r!   r-   r3   r=   rE    r"   r    <module>rY      s   4 4 4 " " " " " "   7 7 7 7 7 7 7 7 7 7       $V^ 4 4  4 4 4 4!T&&((/22  2 2 2 2!%fm!4!4  4 4 4 4 
		     IHH H H H H !%c5#ttDzz6J  J J J J %)#tU#;  ; ; ; ; !./ / / / /> > > >   (   "    	 	 	 	 	 	r"   