ž ©ÿfý. c @ s9 d Z d d l Z d d l m 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(# uÎ 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. i N( u rpc( u Debuggeru idb_adapteru gui_adapterc C s t | ƒ } | t | <| S( N( u idu frametable( u frameu fid( ( u; /opt/alt/python33/lib64/python3.3/idlelib/RemoteDebugger.pyu wrap_frame) s u wrap_framec C sg | d k r d S| d } t | t j ƒ s2 t ‚ t | ƒ } | t | <| d | d | f } | Sd S( u0 replace info[2], a traceback instance, by its IDi i i N( u Noneu isinstanceu typesu TracebackTypeu AssertionErroru idu tracebacktable( u infou tracebacku traceback_idu modified_info( ( u; /opt/alt/python33/lib64/python3.3/idlelib/RemoteDebugger.pyu wrap_info. s u wrap_infoc B s/ | Ee Z d Z d d „ Z d d d „ Z d S( u GUIProxyc C s | | _ | | _ d S( N( u connu oid( u selfu connu gui_adap_oid( ( u; /opt/alt/python33/lib64/python3.3/idlelib/RemoteDebugger.pyu __init__<