B
     S]:                 @   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.7/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 )N)_WrappedObjectTreeItem__item)selfr   r   r   r	   __init__   s    zWrappedObjectTreeItem.__init__c             C   s   t | j|}|S )N)getattrr   )r   namevaluer   r   r	   __getattr__   s    z!WrappedObjectTreeItem.__getattr__c             C   s   | j  }ttt|S )N)r   _GetSubListlistmapr
   )r   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 )N)sockior   )r   r   r   r   r   r	   r      s    zStubObjectTreeItem.__init__c             C   s   t | j| j|}|S )N)r   ZMethodProxyr   r   )r   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	   r   "   s    zStubObjectTreeItem._GetSubListN)r   r   r   r   r   r   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   