Current File : //usr/share/gdb/python/gdb/dap/__pycache__/frames.cpython-39.pyc |
a
ɱZho � @ s� d dl Z d dlZd dlmZ ddlmZ g ai aedd� �Ze j j
�e� edd� �Zed d
� �Z
G dd� d�Zed
d� �Zedd� �Zedd� �ZdS )� N)�frame_iterator� )�
in_gdb_threadc C s g a i ad S �N)�_all_frames� _iter_map)Zevt� r �'/usr/share/gdb/python/gdb/dap/frames.py�_clear_frame_ids# s r
c C s t | S )z<Given a frame identifier ID, return the corresponding frame.)r )�idr r r �frame_for_id/ s r c C s t | �}|�� �� dS )z<Given a frame identifier ID, select the corresponding frame.N)r Zinferior_frameZselect)r �framer r r �select_frame6 s r c @ s e Zd Zdd� Zdd� ZdS )�_MemoizingIteratorc C s || _ g | _d S r )�iterator�seen)�selfr r r r �__init__B s z_MemoizingIterator.__init__c c s4 | j D ]
}|V q| jD ]}| j �|� |V qd S r )r r �append)r �itemr r r �__iter__F s
z_MemoizingIterator.__iter__N)�__name__�
__module__�__qualname__r r r r r r r A s r c # sX zt t�� dd�} W n tjy, d} Y n0 dd� � � �fdd���| d�E d H d S ) Nr ���r c S s t t�}t�| � |S r )�lenr r )r
Znumr r r �get_id^ s
z#_frame_id_generator.<locals>.get_idc 3 sB | D ]8}� |�||fV |� � }|d ur�|� � d�E d H qd S )NT)�elided)r Z
for_elidedr
r �r �yield_framesr r r d s
z)_frame_id_generator.<locals>.yield_framesF)r �gdbZnewest_frame�error)�
base_iteratorr r r �_frame_id_generatorV s
r# c C s( t �� j} | tvr tt� �t| <