Current File : //usr/share/gdb/python/gdb/dap/__pycache__/scopes.cpython-39.opt-1.pyc
a

ɱZh|�@s�ddlZddlmZddlmZddlmZddlmZia	edd��Z
ejj�
e
�ed	d
��ZGdd�de�ZGd
d�de�Zedd��Zed�ed�dd��ZdS)�N�)�frame_for_id)�
in_gdb_thread)�request)�
BaseReferencecCsiadS�N)�frame_to_scope)Zevent�r	�'/usr/share/gdb/python/gdb/dap/scopes.py�clear_scopessrcCsZ|��}|��t|���}|��}|dur<|���|�}nt|tj�sRt�|�}||fSr)�inferior_frameZselect�str�symbol�value�
isinstance�gdbZValue)Zsym�frame�	inf_frame�name�valr	r	r
�symbol_value,s
rcsDeZdZ�fdd�Z�fdd�Zdd�Zdd�Zed	d
��Z�Z	S)�_ScopeReferencecsDt��|�||_||_|��|_|��|_|��|_t	|�|_
dSr)�super�__init__�hintrrr�function�func�line�tuple�var_list)�selfrrrr��	__class__r	r
r?s


z_ScopeReference.__init__csBt���}|j|d<d|d<t|j�|d<|jdur>|j|d<|S)NZpresentationHintFZ	expensiveZnamedVariablesr)r�	to_objectr�lenrr)r �resultr!r	r
r#Js



z_ScopeReference.to_objectcCsdS)NTr	�r r	r	r
�has_childrenUsz_ScopeReference.has_childrencCs
t|j�Sr)r$rr&r	r	r
�child_countXsz_ScopeReference.child_countcCst|j||j�Sr)rrr�r �idxr	r	r
�fetch_one_child[sz_ScopeReference.fetch_one_child)
�__name__�
__module__�__qualname__rr#r'r(rr+�
__classcell__r	r	r!r
r>srcs(eZdZ�fdd�Zedd��Z�ZS)�_RegisterReferencecs"t��|d||�������dS)N�	registers)rrrZarchitecturer1)r rrr!r	r
ras�z_RegisterReference.__init__cCs|j|j|j�|j|�fSr)rrrZ
read_registerr)r	r	r
r+fs
�z"_RegisterReference.fetch_one_child)r,r-r.rrr+r/r	r	r!r
r0`sr0cCs�|tvrt|}ntt|�}g}t|��p*d�}|rF|�tdd||��t|��pRd�}|rn|�tdd||��|�td|��|t|<dd�|D�S)	Nr	Z	ArgumentsZ	argumentsZLocals�localsZ	RegisterscSsg|]}|���qSr	)r#)�.0�xr	r	r
�
<listcomp>��z_get_scope.<locals>.<listcomp>)rrrZ
frame_args�appendrZframe_localsr0)�id�scopesr�argsZlocsr	r	r
�
_get_scopeos
r;r9)�frameIdcKsdt|�iS)Nr9)r;)r<Zextrar	r	r
r9�s)rZframesrZstartuprZserverrZvarrefrrrZeventsZcontZconnectrrr0r;�intr9r	r	r	r
�<module>s 

"