HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Python311/Lib/idlelib/__pycache__/stackviewer.cpython-311.pyc
�

�ne����ddlZddlZddlZddlmZmZddlmZm	Z	m
Z
dd�ZGd�de	��ZGd�de	��Z
Gd	�d
e��Zd�Zedkr'dd
lmZeddd���ddlmZee��dSdS)�N)�ObjectTreeItem�make_objecttreeitem)�TreeNode�TreeItem�ScrolledCanvasc�*�|�tj|��}t|dd���atj�dd���t
||��attj	dt��a
t���dS)N�whiter)�bg�highlightthickness��both)�expand�fill)�tk�Toplevelr�sc�frame�pack�
StackTreeItem�itemr�canvas�noder)�root�exc�flist�tops    �'C:\Python311\Lib\idlelib\stackviewer.py�StackBrowserr	su��
�{��k�$����	���A�	>�	>�	>�B��H�M�M���M�(�(�(���e�$�$�D��B�I�t�T�*�*�D��K�K�M�M�M�M�M�c�(�eZdZdd�Zd�Zd�Zd�ZdS)rNc��||_|�|�dn|j��|_t	|��j�dt
|����|_dS)Nz: )r�	get_stack�
__traceback__�stack�type�__name__�str�text)�selfrrs   r�__init__zStackTreeItem.__init__sO����
��^�^�C�K�D�D�S�=N�O�O��
��C�y�y�)�7�7�S��X�X�7�7��	�	�	rc��g}|r|j�|j}|�*|�|j|jf��|j}|�*|S�N)�tb_frame�tb_next�append�	tb_lineno)r)�tbr$s   rr"zStackTreeItem.get_stacksR����
�	�"�+�%���B��n��L�L�"�+�r�|�4�5�5�5���B��n��rc��|jSr,)r(�r)s r�GetTextzStackTreeItem.GetText$s
���y�rc�r�g}|jD],}t||j��}|�|���-|Sr,)r$�
FrameTreeItemrr/)r)�sublist�infors    r�
GetSubListzStackTreeItem.GetSubList'sC�����J�	!�	!�D� ��t�z�2�2�D��N�N�4� � � � ��rr,)r&�
__module__�__qualname__r*r"r4r9�rrrrsU������8�8�8�8�
����������rrc�&�eZdZd�Zd�Zd�Zd�ZdS)r6c�"�||_||_dSr,)r8r)r)r8rs   rr*zFrameTreeItem.__init__1s����	���
�
�
rc���|j\}}	|jd}n	#d}YnxYw|j}|j}|j}tj||��}|���}|dvr	d|||fz}n	d||||fz}|S)Nr&�?)r@�Nz%s, line %d: %sz%s.%s(...), line %d: %s)r8�	f_globals�f_code�co_filename�co_name�	linecache�getline�strip)	r)r�lineno�modname�code�filename�funcname�
sourceliners	         rr4zFrameTreeItem.GetText5s����	�
��v�	��o�j�1�G�G��	��G�G�G�����|���#���<���&�x��8�8�
��%�%�'�'�
���&�&�$����'D�D�D�D�,���-3�Z�0A�A�D��s�
� c��|j\}}g}|j|jur0td|j|j��}|�|��td|j|j��}|�|��|S)Nz<locals>z	<globals>)r8rB�f_locals�VariablesTreeItemrr/)r)rrIr7rs     rr9zFrameTreeItem.GetSubListGst���	�
��v����?�%�.�0�0�$�Z�����L�L�D��N�N�4� � � � ��e�o�t�z�J�J�����t�����rc��|jrR|j\}}|jj}tj�|��r|j�||��dSdSdSr,)rr8rCrD�os�path�isfile�gotofileline)r)rrIrLs    r�
OnDoubleClickzFrameTreeItem.OnDoubleClickQsi���:�	:� �I�M�E�6��|�/�H��w�~�~�h�'�'�
:��
�'�'��&�9�9�9�9�9�		:�	:�
:�
:rN)r&r:r;r*r4r9rWr<rrr6r6/sP������������$���:�:�:�:�:rr6c�&�eZdZd�Zd�Zd�Zd�ZdS)rQc��|jSr,)�	labeltextr3s rr4zVariablesTreeItem.GetText[s
���~�rc��dSr,r<r3s r�GetLabelTextzVariablesTreeItem.GetLabelText^s���trc�2�t|j��dkS)Nr)�len�objectr3s r�IsExpandablezVariablesTreeItem.IsExpandableas���4�;���!�#�#rc���g}|j���D]U}	|j|}n#t$rY�wxYw||jfd�}t|dz||��}|�|���V|S)Nc��|||<dSr,r<)�value�keyr_s   r�setfunctionz1VariablesTreeItem.GetSubList.<locals>.setfunctionks��#��s���rz =)r_�keys�KeyErrorrr/)r)r7rdrcrers      rr9zVariablesTreeItem.GetSubListds������;�#�#�%�%�	!�	!�C�
���C�(�����
�
�
���
����'*�4�;�
$�
$�
$�
$�&�s�T�z�5�+�F�F�D��N�N�4� � � � ��s�
-�
:�:N)r&r:r;r4r\r`r9r<rrrQrQYsP������������$�$�$�����rrQc��ddlm}tj|��}|�d��tt|����d��dd���\}}|�d|dz|dzfz��||��}	tdS#t$r}t||||�	��Yd}~dSd}~wwxYw)
Nr)�PyShellFileListzTest StackViewer�+rz+%d+%d�2�)rr)�idlelib.pyshellrirr�title�map�int�geometry�split�intentional_name_error�	NameErrorr)�parentrir�x�yr�es       r�
_stack_viewerryrs���/�/�/�/�/�/�
�+�f�
�
�C��I�I� �!�!�!��s�F�O�O�%�%�+�+�C�0�0����4�5�5�D�A�q��L�L��Q��V�Q��W�-�-�.�.�.��O�C� � �E�3�������3�3�3��S�!�5�c�2�2�2�2�2�2�2�2�2�2�����3���s�!B*�*
C�4C
�
C�__main__)�mainz"idlelib.idle_test.test_stackviewer�F)�	verbosity�exit)�run)NN)rFrS�tkinterr�idlelib.debugobjrr�idlelib.treerrrrrr6rQryr&�unittestr{�idlelib.idle_test.htestrr<rr�<module>r�se������	�	�	�	�����@�@�@�@�@�@�@�@�;�;�;�;�;�;�;�;�;�;����������H����6':�':�':�':�':�H�':�':�':�T���������2
3�
3�
3��z����������D�	-���G�G�G�G�+�+�+�+�+�+��C�
�������r