Current File : //usr/local/apps/python3/lib/python3.11/idlelib/__pycache__/debugger_r.cpython-311.opt-2.pyc
�

�Ke�/��X�	ddlZddlZddlmZdZdadZiZiZiZ	iZ
d�Zd�ZGd�d��Z
Gd	�d
��Zd�ZGd�d
��ZGd�d��ZGd�d��ZGd�d��ZGd�d��Zd�Zd�Zd�Zd�ZedkrddlmZeddd���dSdS) �N)�debugger�idb_adapter�gui_adapterc�8�t|��}|t|<|S�N)�id�
frametable)�frame�fids  �</usr/local/apps/python3/lib/python3.11/idlelib/debugger_r.py�
wrap_framer
(s��
�U�)�)�C��J�s�O��J�c�t�	|�dS|d}t|��}|t|<|d|d|f}|S)N�r�)r�tracebacktable)�info�	traceback�traceback_id�
modified_infos    r�	wrap_infor-sG��6��|��t���G�	��)�}�}��'0��|�$��a��$�q�'�<�8�
��rc��eZdZd�Zdd�ZdS)�GUIProxyc�"�||_||_dSr)�conn�oid)�selfr�gui_adap_oids   r�__init__zGUIProxy.__init__;s����	�����rNc	��|j�|jd|t|��t	|��fi��dS)N�interaction)r�
remotecallrr
r)r�messager
rs    rr!zGUIProxy.interaction?sI��	
�	���T�X�}�%�z�%�'8�'8�)�D�/�/�J��	!�	!�	!�	!�	!rr��__name__�
__module__�__qualname__rr!�rrrr9s7������ � � �!�!�!�!�!�!rrc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�
IdbAdapterc��||_dSr)�idb)rr,s  rrzIdbAdapter.__init__Hs
������rc�8�|j���dSr)r,�set_step�rs rr.zIdbAdapter.set_stepM�����������rc�8�|j���dSr)r,�set_quitr/s rr2zIdbAdapter.set_quitPr0rc�8�|j���dSr)r,�set_continuer/s rr4zIdbAdapter.set_continueSs����������rc�T�t|}|j�|��dSr)r	r,�set_next�rrr
s   rr6zIdbAdapter.set_nextVs'���3�������%� � � � � rc�T�t|}|j�|��dSr)r	r,�
set_returnr7s   rr9zIdbAdapter.set_returnZs'���3�������E�"�"�"�"�"rc��t|}|�d}n
t|}|j�||��\}}d�|D��}||fS)Nc�6�g|]\}}t|��|f��Sr()r
)�.0�frame2�ks   r�
<listcomp>z(IdbAdapter.get_stack.<locals>.<listcomp>es)��@�@�@�Y�V�Q�*�V�$�$�a�(�@�@�@r)r	rr,�	get_stack)rr�tbidr
�tb�stack�is       rr@zIdbAdapter.get_stack^sX���3����<��B�B���%�B��8�%�%�e�R�0�0���q�@�@�%�@�@�@���a�x�rc�N�ddl}|j�||j��dS)Nr)�__main__r,�run�__dict__)r�cmdrFs   rrGzIdbAdapter.runhs*����������S�(�+�,�,�,�,�,rc�<�|j�||��}|Sr)r,�	set_break�r�filename�lineno�msgs    rrKzIdbAdapter.set_breakls���h� � ��6�2�2���
rc�<�|j�||��}|Sr)r,�clear_breakrLs    rrQzIdbAdapter.clear_breakps���h�"�"�8�V�4�4���
rc�:�|j�|��}|Sr)r,�clear_all_file_breaks�rrMrOs   rrSz IdbAdapter.clear_all_file_breaksts���h�,�,�X�6�6���
rc�<�t|}t||��Sr)r	�getattr)rr�namer
s    r�
frame_attrzIdbAdapter.frame_attrzs���3����u�d�#�#�#rc�`�t|}|j}t|��}|t|<|Sr)r	�	f_globalsr�	dicttable�rrr
�dict�dids     r�
frame_globalszIdbAdapter.frame_globals~s+���3��������h�h���	�#���
rc�`�t|}|j}t|��}|t|<|Sr)r	�f_localsrr[r\s     r�frame_localszIdbAdapter.frame_locals�s+���3����~����h�h���	�#���
rc�`�t|}|j}t|��}|t|<|Sr)r	�f_coder�	codetable)rrr
�code�cids     r�
frame_codezIdbAdapter.frame_code�s+���3����|����h�h���	�#���
rc�*�t|}|jSr)re�co_name�rrgrfs   r�	code_namezIdbAdapter.code_name�s����~���|�rc�*�t|}|jSr)re�co_filenamerks   r�
code_filenamezIdbAdapter.code_filename�s����~����rc� �td���)Nz"dict_keys not public or pickleable)�NotImplementedError�rr^s  r�	dict_keyszIdbAdapter.dict_keys�s��!�"F�G�G�Grc�^�t|}t|�����Sr)r[�list�keys)rr^r]s   r�dict_keys_listzIdbAdapter.dict_keys_list�s!����~���D�I�I�K�K� � � rc�X�t|}||}tj|��}|Sr)r[�reprlib�repr)rr^�keyr]�values     r�	dict_itemzIdbAdapter.dict_item�s(����~���S�	����U�#�#���rN)r%r&r'rr.r2r4r6r9r@rGrKrQrSrXr_rbrhrlrorsrwr}r(rrr*r*FsC���������
������ � � �!�!�!�#�#�#����-�-�-����������$�$�$������������� � � �H�H�H�!�!�!�����rr*c��	t||��}tj|��}t|��}|�t
|��t
Sr)rr�Idbr*�register�idb_adap_oid)�
rpchandlerr�	gui_proxyr,�idb_adaps     r�start_debuggerr��sN�����\�2�2�I�
�,�y�
!�
!�C��#���H�����h�/�/�/��rc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�
FrameProxyc�>�||_||_d|_i|_dS)Nr)�_conn�_fid�_oid�
_dictcache)rrrs   rrzFrameProxy.__init__�s"����
���	�!��	�����rc�*�|dd�dkrt|���|dkr|���S|dkr|���S|dkr|���S|j�|jd|j|fi��S)Nr�_rdrZrarX)�AttributeError�_get_f_code�_get_f_globals�
_get_f_localsr�r"r�r��rrWs  r�__getattr__zFrameProxy.__getattr__�s�������8�s�?�?� ��&�&�&��8����#�#�%�%�%��;����&�&�(�(�(��:����%�%�'�'�'��z�$�$�T�Y��&*�i��%6��<�<�	<rc��|j�|jd|jfi��}t	|j|j|��S)Nrh)r�r"r�r��	CodeProxy)rrgs  rr�zFrameProxy._get_f_code�s9���j�#�#�D�I�|�d�i�\�2�N�N�����T�Y��4�4�4rc�|�|j�|jd|jfi��}|�|��S)Nr_�r�r"r�r��_get_dict_proxyrrs  rr�zFrameProxy._get_f_globals�s<���j�#�#�D�I��%)�Y�L�"�6�6���#�#�C�(�(�(rc�|�|j�|jd|jfi��}|�|��S)Nrbr�rrs  rr�zFrameProxy._get_f_locals�s<���j�#�#�D�I�~�%)�Y�L�"�6�6���#�#�C�(�(�(rc�|�||jvr
|j|St|j|j|��}||j|<|Sr)r��	DictProxyr�r�)rr^�dps   rr�zFrameProxy._get_dict_proxy�sB���$�/�!�!��?�3�'�'�
�t�z�4�9�c�
2�
2��!������	rN)	r%r&r'rr�r�r�r�r�r(rrr�r��sn���������
<�
<�
<�5�5�5�)�)�)�
)�)�)�
����rr�c��eZdZd�Zd�ZdS)r�c�0�||_||_||_dSr)r�r��_cid)rrrrgs    rrzCodeProxy.__init__������
���	���	�	�	rc��|dkr(|j�|jd|jfi��S|dkr(|j�|jd|jfi��SdS)Nrjrlrnro)r�r"r�r�r�s  rr�zCodeProxy.__getattr__�sr���9����:�(�(���K�*.�)��r�;�;�
;��=� � ��:�(�(���O�*.�)��r�;�;�
;�!� rN)r%r&r'rr�r(rrr�r��s2���������
;�;�;�;�;rr�c�&�eZdZd�Zd�Zd�Zd�ZdS)r�c�0�||_||_||_dSr)r�r��_did)rrrr^s    rrzDictProxy.__init__r�rc�R�|j�|jd|jfi��S)Nrw�r�r"r�r�r/s rrvzDictProxy.keyss.���z�$�$�T�Y�%5��	�|�R�I�I�	Irc�T�|j�|jd|j|fi��S)Nr}r�)rr{s  r�__getitem__zDictProxy.__getitem__s.���z�$�$�T�Y��&*�i��%5�r�;�;�	;rc� �t|���r)r�r�s  rr�zDictProxy.__getattr__s���T�"�"�"rN)r%r&r'rrvr�r�r(rrr�r�sS���������I�I�I�;�;�;�#�#�#�#�#rr�c��eZdZd�Zd�ZdS)�
GUIAdapterc�"�||_||_dSr)r�gui)rrr�s   rrzGUIAdapter.__init__s����	�����rc�h�t|j|��}|j�|||��dSr)r�rr�r!)rr#rrr
s     rr!zGUIAdapter.interaction!s3���4�9�c�*�*������W�e�]�;�;�;�;�;rNr$r(rrr�r�s2���������<�<�<�<�<rr�c�V�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�IdbProxyc�0�||_||_||_dSr)rr�shell)rrr�rs    rrzIdbProxy.__init__)s�������	���
�
�
rc�J�|j�|j|||��}|Sr)rr"r)r�
methodname�args�kwargsr|s     r�callz
IdbProxy.call.s$���	�$�$�T�X�z�4��H�H���rc�n�|j�|jd|fi��}||jj_dS)NrG)r�
asyncqueuerr��interp�
active_seq)rrI�locals�seqs    rrGzIdbProxy.run4s4���i�"�"�4�8�U�S�F�B�?�?��'*��
��$�$�$rc�f����d|j|��\}}�fd�|D��}||fS)Nr@c�D��g|]\}}t�j|��|f��Sr()r�r)r<rr>rs   �rr?z&IdbProxy.get_stack.<locals>.<listcomp><s.���E�E�E�V�S�!�*�T�Y��,�,�a�0�E�E�Er�r�r�)rr
rArCrDs`    rr@zIdbProxy.get_stack9s@����9�9�[�%�*�d�;�;���q�E�E�E�E�u�E�E�E���a�x�rc�0�|�d��dS)Nr4�r�r/s rr4zIdbProxy.set_continue?s���	�	�.�!�!�!�!�!rc�0�|�d��dS)Nr.r�r/s rr.zIdbProxy.set_stepB����	�	�*�����rc�<�|�d|j��dS)Nr6r��rr
s  rr6zIdbProxy.set_nextEs���	�	�*�e�j�)�)�)�)�)rc�<�|�d|j��dS)Nr9r�r�s  rr9zIdbProxy.set_returnHs���	�	�,��
�+�+�+�+�+rc�0�|�d��dS)Nr2r�r/s rr2zIdbProxy.set_quitKr�rc�4�|�d||��}|S)NrKr�rLs    rrKzIdbProxy.set_breakNs���i�i��X�v�6�6���
rc�4�|�d||��}|S)NrQr�rLs    rrQzIdbProxy.clear_breakRs���i�i�
�x��8�8���
rc�2�|�d|��}|S)NrSr�rTs   rrSzIdbProxy.clear_all_file_breaksVs���i�i�/��:�:���
rN)r%r&r'rr�rGr@r4r.r6r9r2rKrQrSr(rrr�r�'s����������
���+�+�+�
���"�"�"����*�*�*�,�,�,��������������rr�c���	|�ddtfi��at||t��}t	j||��}t
||��}|�t|��|S�N�exec�start_the_debugger)r"rr�r�r�Debuggerr�r�)�rpcclt�pyshell�	idb_proxyr��gui_adaps     r�start_remote_debuggerr�Zsu����$�$�V�-A�$0�?�B�8�8�L����,�7�7�I�
�
�G�Y�
/�
/�C��&�#�&�&�H�
�O�O�L�(�+�+�+��Jrc�Z�	t|��|�t��dSr)�close_subprocess_debugger�
unregisterr�r�s r�close_remote_debuggerr�rs1����f�%�%�%�
���l�#�#�#�#�#rc�B�|�ddtfi��dS)Nr��stop_the_debugger)r"r�r�s rr�r�~s%��
���f�1�L�?�B�G�G�G�G�Grc�B�|�ddtfi��}dSr�)r"r)r��idb_adap_oid_rets  r�restart_subprocess_debuggerr��s*���(�(��1E�*6��"�>�>���rrF)�mainz!idlelib.idle_test.test_debugger_rrF)�	verbosity�exit)ry�types�idlelibr�	debuggingr�rr	r[rerr
rrr*r�r�r�r�r�r�r�r�r�r�r%�unittestr�r(rr�<module>r�s,���*��������������
�	������
��	��	������

�
�
�!�!�!�!�!�!�!�!�h�h�h�h�h�h�h�h�Z���,'�'�'�'�'�'�'�'�T
;�
;�
;�
;�
;�
;�
;�
;� #�#�#�#�#�#�#�#�0	<�	<�	<�	<�	<�	<�	<�	<�1�1�1�1�1�1�1�1�f���0
$�
$�
$�H�H�H�P�P�P��z����������D�	,���F�F�F�F�F�F��r