Viewing File: /opt/alt/python35/lib64/python3.5/idlelib/__pycache__/RemoteDebugger.cpython-35.opt-1.pyc
Yf. @ s) d Z d d l Z d d l m Z d Z d a d Z i Z i Z i Z i Z
d d Z d d Z Gd
d d Z
Gd d
d
Z d d Z Gd d d Z Gd d d Z Gd d d Z Gd d d Z Gd d d Z d d Z d d Z d d Z d d! Z d S)"a Support for remote Python debugging.
Some ASCII art to describe the structure:
IN PYTHON SUBPROCESS # IN IDLE PROCESS
#
# oid='gui_adapter'
+----------+ # +------------+ +-----+
| GUIProxy |--remote#call-->| GUIAdapter |--calls-->| GUI |
+-----+--calls-->+----------+ # +------------+ +-----+
| Idb | # /
+-----+<-calls--+------------+ # +----------+<--calls-/
| IdbAdapter |<--remote#call--| IdbProxy |
+------------+ # +----------+
oid='idb_adapter' #
The purpose of the Proxy and Adapter classes is to translate certain
arguments and return values that cannot be transported through the RPC
barrier, in particular frame and traceback objects.
N)Debuggeridb_adapterZgui_adapterc C s t | } | t | <| S)N)id
frametable)framefid r ;/opt/alt/python35/lib64/python3.5/idlelib/RemoteDebugger.py
wrap_frame( s
r
c C sO | d k r d S| d } t | } | t | <| d | d | f } | Sd S)z0replace info[2], a traceback instance, by its IDN r )r tracebacktable)info tracebackZtraceback_id
modified_infor r r wrap_info- s
r c @ s+ e Z d Z d d Z d d d Z d S)GUIProxyc C s | | _ | | _ d S)N)connoid)selfr gui_adap_oidr r r __init__; s zGUIProxy.__init__Nc C s5 | j j | j d | t | t | f i d S)Ninteraction)r
remotecallr r
r )r messager r r r r r ? s zGUIProxy.interaction)__name__
__module____qualname__r r r r r r r 9 s r c @ s e Z d Z d d Z d d Z d d Z d d Z d d
Z d d Z d
d Z d d Z
d d Z d d Z d d Z
d d Z d d Z d d Z d d Z d d Z d! d"