o
     JAf:                     @   sX   d dl mZ dd ZG dd dZG dd dZedkr*d d	lmZ ed
dd dS dS )    )rpcc                 C   s   t | }t|}|tj|< |S N)WrappedObjectTreeItemidr   Zobjecttable)itemwrapperoid r	   )/usr/lib/python3.10/idlelib/debugobj_r.pyremote_object_tree_item   s   
r   c                   @   $   e Zd Zdd Zdd Zdd ZdS )r   c                 C   s
   || _ d S r   )_WrappedObjectTreeItem__item)selfr   r	   r	   r
   __init__   s   
zWrappedObjectTreeItem.__init__c                 C   s   t | j|}|S r   )getattrr   r   namevaluer	   r	   r
   __getattr__   s   z!WrappedObjectTreeItem.__getattr__c                 C   s   | j  }ttt|S r   )r   _GetSubListlistmapr   r   Zsub_listr	   r	   r
   r      s   
z!WrappedObjectTreeItem._GetSubListN__name__
__module____qualname__r   r   r   r	   r	   r	   r
   r   	   s    r   c                   @   r   )StubObjectTreeItemc                 C   s   || _ || _d S r   )sockior   )r   r   r   r	   r	   r
   r      s   
zStubObjectTreeItem.__init__c                 C   s   t | j| j|}|S r   )r   ZMethodProxyr   r   r   r	   r	   r
   r      s   zStubObjectTreeItem.__getattr__c                    s&    j  jddi } fdd|D S )Nr   r	   c                    s   g | ]}t  j|qS r	   )r   r   ).0r   r   r	   r
   
<listcomp>$   s    z2StubObjectTreeItem._GetSubList.<locals>.<listcomp>)r   Z
remotecallr   r   r	   r    r
   r   "   s   zStubObjectTreeItem._GetSubListNr   r	   r	   r	   r
   r      s    r   __main__)mainz!idlelib.idle_test.test_debugobj_r   )	verbosityN)Zidlelibr   r   r   r   r   Zunittestr#   r	   r	   r	   r
   <module>   s    