a
    If:                     @   sT   d dl mZ dd ZG dd dZG dd dZedkrPd d	lmZ ed
dd dS )    )rpcc                 C   s   t | }t|}|tj|< |S N)WrappedObjectTreeItemidr   Zobjecttable)itemwrapperoid r	   #lib/python3.9/idlelib/debugobj_r.pyremote_object_tree_item   s    
r   c                   @   s$   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                   @   s$   e Zd Zdd Zdd Zdd ZdS )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>$       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   