Current File : //proc/self/root/kunden/usr/share/glib-2.0/gdb/__pycache__/gobject_gdb.cpython-39.opt-1.pyc
a

]xa|'�@sddlZddlZddlZejddkr,eZnddlZejZzddl	ZdZ
ejjZWneyhdZ
Yn0dd�Z
dd�Zd	d
�Zdd�Zd
d�ZGdd�d�Zdd�ZGdd�d�Zdd�Zdd�Zdd�Zdd�ZGdd�de�ZGdd �d �ZGd!d"�d"e�Zd#d$�ZdS)%�N�TFcCst���|�S�N)�gdbZselected_frame�read_var)Zsymname�r�&/usr/share/glib-2.0/gdb/gobject_gdb.py�read_global_varsrcCsLdd�}t|�}||d}|dkr@t�|��t�d����}n||�}|S)NcSs.|dkrdStd�}|dur dS||d?jS)NrZstatic_fundamental_type_nodes�)r�address)�typenode�valrrr�lookup_fundamental_typesz3g_type_to_typenode.<locals>.lookup_fundamental_type�i�ZTypeNode)�longrZValue�cast�lookup_type�pointer)�gtyper
rrrr�g_type_to_typenodesrcCs"t|�}|durt�|d�SdS)N�qname)r�glib_gdb�g_quark_to_string)rrrrr�g_type_to_name-srcs2�fdd��|j}|jtjkr"dS|��}�|�S)Ncs`t|�dkrdS|jtjkr&|��}q|jtjkr6dS|��}t|�dkrNdS|d}�|j�S)N�
GTypeInstanceTF�r)	�str�coderZTYPE_CODE_TYPEDEF�targetZTYPE_CODE_STRUCT�fields�len�type)r rZfirst_field��is_g_type_instance_helperrrr"5s
z5is_g_type_instance.<locals>.is_g_type_instance_helperF)r rr�
TYPE_CODE_PTRr�rr rr!r�is_g_type_instance4sr%cCsVt|�dkrRz2|�t�d����}|d}|d}t|�}|WStyPYn0dS)NrrZg_class�g_type)rrrrrr�RuntimeError)�instance�inst�klassr�namerrr�g_type_name_from_instanceMsr,c@s eZdZdZdd�Zdd�ZdS)�GTypePrettyPrinterzPrints a GType instance pointercCs
||_dSr�r)�selfrrrr�__init__]szGTypePrettyPrinter.__init__cCs.t|j�}|r dt|j�|fSdt|j�S)Nz	0x%x [%s]�0x%x)r,rr)r/r+rrr�	to_string`s
zGTypePrettyPrinter.to_stringN��__name__�
__module__�__qualname__�__doc__r0r2rrrrr-Zsr-cCs&|j}|jtjkrdSt|���dkS)NFZ
GTypeClass)r rrr#rrr$rrr�is_g_type_class_instancegsr8c@s"eZdZdZddd�Zdd�ZdS)	�GTypeHandlePrettyPrinterzPrints a GType instance�cCs||_||_dSr)r�hint)r/rr;rrrr0qsz!GTypeHandlePrettyPrinter.__init__cCs�t|j�}|dur�t�|d�}dt|j�|j|f}tdt|d��D]8}t|d|�}|rpt�|d�}nd}|d|7}qH|dSd	t|j�SdS)
Nrz
0x%x [%s%srZn_supersZsupers�???�/�]r1)rrrrrr;�range�int)r/rr+�s�i�noderrrr2us
z"GTypeHandlePrettyPrinter.to_stringN)r:r3rrrrr9ns
r9cCs@t|�rt|�St|j�dkr&t|�St|�r<t|dd�SdS)NZGTyper&zg_type: )r%r-rr r9r8r.rrr�pretty_printer_lookup�srDcCsT|durdSt|�}|dkr dStd�}td�}t|�}||krP||d��SdS)NrZg_signal_nodesZg_n_signal_nodesr+)rr�string)�idrZmax_srrr�get_signal_name�srGcCst|���Sr)r�function)�framerrr�
frame_name�srJcCs|���|�Sr)Zinferior_framer)rI�varrrr�	frame_var�srLc@s`eZdZdd�Zdd�Zddd�Zddd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�ZdS)�SignalFramecCs$t�||d�|d|_||_dS)N���)�FrameDecoratorr0rI�frames)r/rPrrrr0�s
zSignalFrame.__init__cCsdS)Nzsignal-emissionr�r/rrrr+�szSignalFrame.nameNcCsPz6t||�}|dus|jr WdS|dur2|�|�|WStyJYdS0dSr)rL�is_optimized_out�append�
ValueError�r/rIr+�array�vrrrr�s

zSignalFrame.read_varcCszz`t||�}|dus|jr WdS|�t�d����}|dur\t|�r\|durV|�|�|WSWdStytYdS0dS)N�GObject)	rLrRrrrrr,rSrTrUrrr�read_object�s

zSignalFrame.read_objectcCs|dur|�|�dSr)rS)r/rV�objrrrrS�szSignalFrame.appendcCs(t|�dkrdSd�ttt|���SdS)Nrr<z or )r�join�set�mapr)r/rVrrr�
or_join_array�szSignalFrame.or_join_arraycCs2|�|d�}t�|�}|dur*|d|S|SdS)N�detail�:)rrr)r/rI�signalr_rrr�get_detailed_signal_from_frame�s

z*SignalFrame.get_detailed_signal_from_framec
Cstg}g}|jD�]B}t|�}|dkrf|�|d|�|�|d�}|rf|d��}|�||�}|�||�|dkr�|�|d�}|r�|dd�t�	d	��
��}|�||�|�|d
�}	t|	�}|r�|�||�}|�||�|dks�|dk�r(|�|d|�|�|d
�}	t|	�}|�r(|�||�}|�||�|d
kr|�|d|�|�|d|��qTq|�|�}|�|�}d||fS)N�signal_emit_unlocked_Rr(rCr+�g_signal_emitv�instance_and_paramsrZ	v_pointerrXZ	signal_id�g_signal_emit_valist�
g_signal_emit�g_signal_emit_by_nameZdetailed_signalz<emit signal %s on instance %s>)
rPrJrYrrErbrSrr�TyperrGr^)
r/Z	instancesZsignalsrIr+rCrarer(rFrrrrH�sJ�

zSignalFrame.functioncCs|jdd�S)NrrN)rPrQrrr�elided	szSignalFrame.elidedcCs|�d|��d�dS)N� �
)�writerH)r/�streamZfullrrr�describeszSignalFrame.describe)N)N)
r4r5r6r0r+rrYrSr^rbrHrjrorrrrrM�s

-rMc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�GFrameDecoratorcCsg|_||_dSr)�queue�iter)r/rrrrrr0szGFrameDecorator.__init__cCs|SrrrQrrr�__iter__szGFrameDecorator.__iter__cCsDt|j�dkr@zt|j�}|j�|�Wqty<YdS0qdS)N�)rrq�nextrrrS�
StopIteration)r/�frrr�fills
zGFrameDecorator.fillcCs8ttt|j�d��D]}t|j|�dkr|SqdS)NrrcrN)r?�minrrqrJ)r/rBrrr�find_signal_emission s
z$GFrameDecorator.find_signal_emissioncCs�|��t|j�dkrt�|��}|dkr�|}|dkr8qnt|j|d�}|�d�dks`|dkrn|d}q.qnq.|d}|t|j�kr�t|j|�dvr�|d}qvq�qv|j||�}t|�g}||j||�<|j�d�S)NrrZ	_marshal_Zg_closure_invoke)rdrfrgrhZ_g_closure_invoke_va)	rxrrqrvrzrJ�findrM�pop)r/Zemission�startZ	prev_name�endZ
signal_framesZ
new_framesrrrru&s*


zGFrameDecorator.nextcCs|��Sr)rurQrrr�__next__LszGFrameDecorator.__next__N)	r4r5r6r0rsrxrzrurrrrrrps&rpc@s eZdZdZdZdZdd�ZdS)�GFrameFilterZglibT�dcCst|�Sr)rp)r/�iteratorrrr�filterUszGFrameFilter.filterN)r4r5r6r+Zenabled�priorityr�rrrrr�Psr�cCs2|durt}tr"t�}||j|j<|j�t�dSr)r�HAVE_GDB_FRAMEDECORATORr�Z
frame_filtersr+Zpretty_printersrSrD)rZr�rrr�registerYsr�)rr�sys�version_infor@r�	itertools�imapr]Zgdb.FrameDecoratorr�rO�ImportErrorrrrr%r,r-r8r9rDrGrJrLrMrp�objectr�r�rrrr�<module>s8


i@