Sindbad~EG File Manager

Current Path : /usr/local/share/libcxx-gdbpy/libcxx/__pycache__/
Upload File :
Current File : /usr/local/share/libcxx-gdbpy/libcxx/__pycache__/printers.cpython-311.pyc

�

��g�-��z�ddlZddlZd�ZGd�d��Zd�ZGd�d��ZGd�d	��ZGd
�d��ZGd�d
��ZGd�d��Z	Gd�d��Z
Gd�d��ZGd�d��ZGd�d��Z
Gd�d��ZGd�d��ZGd�d��Zd�ZdS)�Nc�R�|���D]}|j|kr|cS�dS�N)�fields�name)�typer�fields   �
./printers.py�
find_fieldr
	s9�����������:�����L�L�L���4�c��eZdZdZd�ZdS)�IteratorBasez'Provide python 2.x compat for iteratorsc�*�|���Sr)�__next__��selfs r	�nextzIteratorBase.nexts���}�}���rN)�__name__�
__module__�__qualname__�__doc__r�rr	r
r
s)������1�1�����rr
c�0�|jdkr
d|jzSdS)N�i�)�sizeof)�
value_types r	�dequeBlockSizers#����3����j�'�'�'��rrc�H�eZdZdZGd�de��Zd
d�Zd�Zd�Zd�Z	d	S)�StdDequePrinterzPrint a std::dequec� �eZdZd�Zd�Zd�ZdS)�StdDequePrinter.__iteratorc�L�||_||_||_||_||_dSr)�
block_size�begin�end�start�count)rr#r$r%r&�sizes      r	�__init__z#StdDequePrinter.__iterator.__init__s)��(�D�O��D�J��D�H��D�J��D�J�J�Jrc��|Srrrs r	�__iter__z#StdDequePrinter.__iterator.__iter__&����Krc� �|jdkrt�|j���|jz}|���}|jdz|_|j|jkr|jdz|_d|_|jdz
|_d|fS)Nr��)r'�
StopIterationr$�dereferencer&r#)r�item_ptr�items   r	rz#StdDequePrinter.__iterator.__next__)s����z�Q���#�#��z�-�-�/�/�$�*�<�H��'�'�)�)�D���a��D�J��z�T�_�,�,�!�Z�!�^��
���
���a��D�J���:�rN�rrrr)r+rrrr	�
__iteratorr!sA������	�	�	�	�	�	�
	�
	�
	�
	�
	rr5�dequec��||_||_|jj�d��}t	|��|_dS�Nr)�valrr�template_argumentrr#)rr9rrs    r	r)zStdDequePrinter.__init__5s<�������	��X�]�4�4�Q�7�7�
�(��4�4����rc��|jd}|�|j|d|d|jd|jdd��S)N�__map_�__begin_�__end_�__start_�__size_�__value_)r9�_StdDequePrinter__iteratorr#)r�map_vals  r	�childrenzStdDequePrinter.children=sR���(�8�$�����t���
�0C�&�x�0�$�(�:�2F�#�x�	�2�:�>�@�@�	@rc��dS�N�arrayrrs r	�display_hintzStdDequePrinter.display_hintC����wrc�R�|jdd}d|j||dkrdndfzS)Nr@rAzstd::%s with %d element%sr.r/�s)r9r�r�is  r	�	to_stringzStdDequePrinter.to_stringFs=���H�Y��
�+��*�d�i��45��F�F�b�b��.E�E�	ErN)r6)
rrrrr
rBr)rDrHrNrrr	rrs��������������\����.5�5�5�5�@�@�@����E�E�E�E�Errc��eZdZdZd�Zd�ZdS)�StdDequeIteratorPrinterzPrint a std::deque::iteratorc��||_dSr�r9�rr9s  r	r)z StdDequeIteratorPrinter.__init__N�
������rc�^�|jd���}t|��S)N�__ptr_)r9r1�str)rr3s  r	rNz!StdDequeIteratorPrinter.to_stringQs&���x��!�-�-�/�/���4�y�y�rN�rrrrr)rNrrr	rPrPKs8������&�&��������rrPc�@�eZdZdZGd�de��Zd�Zd�Zd�ZdS)�StdForwardListPrinterzPrint a std::forward_listc� �eZdZd�Zd�Zd�ZdS)� StdForwardListPrinter.__iteratorc�"�||_d|_dSr8)�currentr'�r�heads  r	r)z)StdForwardListPrinter.__iterator.__init__Ys���D�L��D�J�J�Jrc��|Srrrs r	r+z)StdForwardListPrinter.__iterator.__iter__]r,rc��|jdkrt�|jd}|j}|jd|_|jdz|_d|z|fS)NrrA�__next_r.�[%d])r^r0r'�rr3r's   r	rz)StdForwardListPrinter.__iterator.__next__`sR���|�q� � �#�#��|�J�/���
��#�|�I�6���!�Z�!�^��
�����-�-rNr4rrr	r5r\XsA������	�	�	�	�	�	�	.�	.�	.�	.�	.rr5c��||_dSrrRrSs  r	r)zStdForwardListPrinter.__init__jrTrc�Z�|�|jddd��S)N�__before_begin_rArc)� _StdForwardListPrinter__iteratorr9rs r	rDzStdForwardListPrinter.childrenms&�����t�x�(9�:�:�F�y�Q�R�R�Rrc�D�|jddddkrdSdS)NrhrArcrzempty std::forward_listzstd::forward_listrRrs r	rNzStdForwardListPrinter.to_stringps+���8�%�&�z�2�9�=��B�B�,�,�"�"rN)	rrrrr
rir)rDrNrrr	rZrZUst������#�#�.�.�.�.�.�\�.�.�.�$���S�S�S�#�#�#�#�#rrZc��eZdZdZd�Zd�ZdS)�StdForwardListIteratorPrinterz#Print a std::forward_list::iteratorc��||_|jdj������}|�d��|_dS)NrVr)r9r�strip_typedefs�targetr:�	node_type)rr9�	link_types   r	r)z&StdForwardListIteratorPrinter.__init__xsI������H�X�&�+�:�:�<�<�C�C�E�E�	�"�4�4�Q�7�7����rc�z�|jd�|j��}|d}t|��S�NrVrA�r9�castrprW�r�noder3s   r	rNz'StdForwardListIteratorPrinter.to_string}�4���x��!�&�&�t�~�6�6���J����4�y�y�rNrXrrr	rlrlus8������-�-�8�8�8�
����rrlc�F�eZdZdZGd�de��Zd�Zd�Zd�Zd�Z	dS)	�StdListPrinterzPrint a std::listc� �eZdZd�Zd�Zd�ZdS)�StdListPrinter.__iteratorc�T�|d|_|j|_||_d|_dS)Nrcr)r^�addressr%rpr')rr`rps   r	r)z"StdListPrinter.__iterator.__init__�s(���	�?�D�L��|�D�H�&�D�N��D�J�J�Jrc��|Srrrs r	r+z"StdListPrinter.__iterator.__iter__�r,rc���|j|jkrt�|j�|j��}|d}|j}|jd|_|jdz|_d|z|fS)NrArcr.rd)r^r%r0rurpr')rrwr3r's    r	rz"StdListPrinter.__iterator.__next__�si���|�t�x�'�'�#�#��|�(�(���8�8���J�'���
��#�|�I�6���!�Z�!�^��
�����-�-rNr4rrr	r5r|�sA������	�	�	�	�	�	�		.�		.�		.�		.�		.rr5c�j�||_tj|jjjdz��|_dS)Nz::__node_pointer)r9�gdb�lookup_typerrrprSs  r	r)zStdListPrinter.__init__�s+����������);�>P�)P�Q�Q����rc�(�|jddS)N�
__size_alloc_rArRrs r	r(zStdListPrinter.size�s���x��(��4�4rc�h�|jd}|�|jd|j��S)Nr>)r9�_StdListPrinter__iteratorrpr_s  r	rDzStdListPrinter.children�s+���x��!�����t�x��1�4�>�B�B�Brc�:�|���dkrdSdS)Nrzempty std::listz	std::list)r(rs r	rNzStdListPrinter.to_string�s ���9�9�;�;�!���$�$��{rN)
rrrrr
r�r)r(rDrNrrr	rzrz�s���������.�.�.�.�.�\�.�.�.�*R�R�R�5�5�5�C�C�C�����rrzc��eZdZdZd�Zd�ZdS)�StdListIteratorPrinterzPrint a std::list::iteratorc��||_|jdj������}t	|���ddd��}t
j|�����|_	dS)NrV�__list_node_base�__list_noder.)
r9rrnrorW�replacer�r��pointerrp)rr9rq�node_type_names    r	r)zStdListIteratorPrinter.__init__�sp������H�X�&�+�:�:�<�<�C�C�E�E�	��Y���/�/�0B�M�ST�U�U�����8�8�@�@�B�B����rc�z�|jd�|j��}|d}t|��Srsrtrvs   r	rNz StdListIteratorPrinter.to_string�rxrNrXrrr	r�r��s;������%�%�C�C�C�����rr�c��eZdZdZd�Zd�ZdS)�StdUniquePtrPrinterzPrint a std::unique_ptrc��||_dSrrRrSs  r	r)zStdUniquePtrPrinter.__init__�rTrc�f�|jdd}d|j����d|��S)NrVrAzstd::unique_ptr<z> = )r9rro)r�vs  r	rNzStdUniquePtrPrinter.to_string�s0���H�X��z�*���-.�V�]�]�_�_�_�_�a�a�@�@rNrXrrr	r�r��s=������!�!����A�A�A�A�Arr�c�F�eZdZdZGd�de��Zd�Zd�Zd�Zd�Z	dS)	�StdUnorderedMapPrinterzPrint a std::unordered_mapc� �eZdZd�Zd�Zd�ZdS)�!StdUnorderedMapPrinter.__iteratorc�>�||_||_||_d|_dSr8)r^rp�cc_field�state)rr$rpr�s    r	r)z*StdUnorderedMapPrinter.__iterator.__init__�s"�� �D�L�&�D�N�$�D�M��D�J�J�Jrc��|Srrrs r	r+z*StdUnorderedMapPrinter.__iterator.__iter__�r,rc�0�|jdkrt�|j�|j��}|jdkr#d}|d|jd}d|_n4d}|d|jd}d|_|jd|_||fS)	Nr�keyrA�firstr.�value�secondrc)r^r0rurpr�r�)rrwrr3s    r	rz*StdUnorderedMapPrinter.__iterator.__next__�s����|�q� � �#�#��|�(�(���8�8���:��?�?� �D��
�+�D�M�:�7�C�D�!"�D�J�J�"�D��
�+�D�M�:�8�D�D�!"�D�J�#'�<�	�#:�D�L��d�|�#rNr4rrr	r5r��sA������	�	�	�	�	�	�	$�	$�	$�	$�	$rr5c��||_|dddj}|�d��|_|j����d��}t|d��r	d|_dSd|_dS)N�__table_�__p1_rAr�__cc_�__cc�r9rr:rpror
r�)rr9�	next_typers    r	r)zStdUnorderedMapPrinter.__init__�s}������
�O�G�,�Z�8�=�	�"�4�4�Q�7�7����^�*�*�,�,�>�>�q�A�A�
��j�'�*�*�	#�#�D�M�M�M�"�D�M�M�Mrc�~�|�|jdddd|j|j��S)Nr�r�rArc)�!_StdUnorderedMapPrinter__iteratorr9rpr�rs r	rDzStdUnorderedMapPrinter.children�s9�����t�x�
�3�G�<�Z�H��S�#�~�t�}�>�>�	>rc��dS)N�maprrs r	rHz#StdUnorderedMapPrinter.display_hint�s���urc�R�|jddd}d||dkrdndfzS)Nr��__p2_rAz$std::unordered_map with %d element%sr.r/rKrRrLs  r	rNz StdUnorderedMapPrinter.to_string�s4���H�Z� ��)�*�5��5��!�q�&�&�B�B�c�8R�R�RrN)
rrrrr
r�r)rDrHrNrrr	r�r��s�������$�$�$�$�$�$�$�\�$�$�$�4#�#�#�>�>�>����S�S�S�S�Srr�c��eZdZdZd�Zd�ZdS)�StdUnorderedMapIteratorPrinterz$Print a std::unordered_map::iteratorc��||_|jj�d��}|�d��|_|j����d��}t|d��r	d|_dSd|_dS)Nrr�r�r�)rr9�	iter_typers    r	r)z'StdUnorderedMapIteratorPrinter.__init__�s~������H�M�3�3�A�6�6�	�"�4�4�Q�7�7����^�*�*�,�,�>�>�q�A�A�
��j�'�*�*�	#�#�D�M�M�M�"�D�M�M�Mrc��|jdd�|j��}|dkrdS|d|jd}|d|jd}dt	|���d	t	|����S)
N�__i_�__node_rzend()rAr�r��[z] = )r9rurpr�rW)rrwr�r�s    r	rNz(StdUnorderedMapIteratorPrinter.to_strings|���x���	�*�/�/���?�?���1�9�9��7��:��t�}�-�g�6���Z� ���/��9���!�#�h�h�h�h��E�
�
�
�3�3rNrXrrr	r�r��s8������.�.�#�#�#�4�4�4�4�4rr�c�F�eZdZdZGd�de��Zd�Zd�Zd�Zd�Z	dS)	�StdVectorPrinterzPrint a std::vectorc� �eZdZd�Zd�Zd�ZdS)�StdVectorPrinter.__iteratorc�0�||_||_d|_dSr8)r^r%r'�rr$r%s   r	r)z$StdVectorPrinter.__iterator.__init__
s�� �D�L��D�H��D�J�J�Jrc��|Srrrs r	r+z$StdVectorPrinter.__iterator.__iter__r,rc��|j|jkrt�|j���}|j}|jdz|_|jdz|_d|z|fS)Nr.rd)r^r%r0r1r'res   r	rz$StdVectorPrinter.__iterator.__next__s[���|�t�x�'�'�#�#��|�/�/�1�1���
��#�|�a�/���!�Z�!�^��
�����-�-rNr4rrr	r5r�sA������	�	�	�
	�	�	�	.�	.�	.�	.�	.rr5c��||_dSrrRrSs  r	r)zStdVectorPrinter.__init__rTrc�Z�|�|jd|jd��S)Nr=r>)�_StdVectorPrinter__iteratorr9rs r	rDzStdVectorPrinter.children"s$�����t�x�
�3�T�X�h�5G�H�H�Hrc��dSrFrrs r	rHzStdVectorPrinter.display_hint%rIrc�`�|jd}|jd}dt||z
��zS)Nr=r>zstd::vector of length %d)r9�intr�s   r	rNzStdVectorPrinter.to_string(s1�����$���h�x� ��)�C��e��,<�,<�<�<rN)
rrrrr
r�r)rDrHrNrrr	r�r�	s���������.�.�.�.�.�\�.�.�.�&���I�I�I����=�=�=�=�=rr�c�*�eZdZdZd�Zd�Zd�Zd�ZdS)�StdStackPrinterzPrint a std::stackc�<�t|dd��|_dS)N�c�stack)r�childrSs  r	r)zStdStackPrinter.__init__0s��$�S��X�w�7�7��
�
�
rc�4�|j���Sr)r�rDrs r	rDzStdStackPrinter.children3s���z�"�"�$�$�$rc�4�|j���Sr)r�rHrs r	rHzStdStackPrinter.display_hint6s���z�&�&�(�(�(rc�4�|j���Sr)r�rNrs r	rNzStdStackPrinter.to_string9s���z�#�#�%�%�%rN)rrrrr)rDrHrNrrr	r�r�-sV��������8�8�8�%�%�%�)�)�)�&�&�&�&�&rr�c�$�eZdZdZd�Zd�Zd�ZdS)�StdStringPrinterzPrint a std::stringc��||_dSrrRrSs  r	r)zStdStringPrinter.__init__?rTrc��dS)N�stringrrs r	rHzStdStringPrinter.display_hintBs���xrc��t|jjd��dk}|jdd}|r!|dd|jdzdk}n|dddk}|r|dd	}|dd}nA|dd	}|dd}|r#t|jd��d
kr|d
z	}|�|���S)N�__short_mask�__r_rA�__sr@r�
__is_long_�__l�__data_r.)�length)r
r9rr�r�)r�has_short_mask�r_first�is_longr�r(s      r	rNzStdStringPrinter.to_stringEs���$�D�H�M�>�B�B�d�J���(�6�"�:�.���	8��u�~�i�0�4�8�N�3K�K�PQ�Q�G�G��e�n�\�2�a�7�G��	%��e�n�Y�/�G��5�>�)�,�D�D��e�n�Y�/�G��5�>�)�,�D��
%��t�x��/�0�0�A�5�5��1�9�D��~�~�t�~�,�,�,rN)rrrrr)rHrNrrr	r�r�<sG��������������-�-�-�-�-rr�c���tj�d��}|�ddt��|�ddt
��|�ddt��|�dd	t��|�d
dt��|�dd
t��|�ddt��|�ddt��|�ddt��|�ddt��|�ddt��|�ddt��|S)Nzlibc++r6z^std::__1::deque<.*>$zdeque::iteratorz ^std::__1::__deque_iterator<.*>$�forward_listz^std::__1::forward_list<.*>$zforward_list::iteratorz0^std::__1::__forward_list_(const_)?iterator<.*>$�listz^std::__1::list<.*>$zlist::iteratorz(^std::__1::__list_(const_)?iterator<.*>$r�z^std::__1::stack<.*>$�
unique_ptrz^std::__1::unique_ptr<.*>$�
unordered_mapz^std::__1::unordered_map<.*>$zunordered_map::iteratorz,^std::__1::__hash_map_(const_)?iterator<.*>$�vectorz^std::__1::vector<.*>$r�z^std::__1::basic_string<.*>$)r��printing�RegexpCollectionPrettyPrinter�add_printerrrPrZrlrzr�r�r�r�r�r�r�)�pps r	�build_pretty_printersr�Ysa��	��	3�	3�H�	=�	=�B��N�N�7�3�_�E�E�E��N�N�$�&H�*�,�,�,��N�N�>�#A�CX�Y�Y�Y��N�N�+�-_�0�2�2�2��N�N�6�1�>�B�B�B��N�N�#�%O�)�+�+�+��N�N�7�3�_�E�E�E��N�N�<�!=�&�(�(�(��N�N�?�$C�)�+�+�+��N�N�,�.\�1�3�3�3��N�N�8�5�7G�H�H�H��N�N�8�;�=M�N�N�N�
�Ir)r��gdb.printingr
r
rrrPrZrlrzr�r�r�r�r�r�r�r�rrr	�<module>r�sx���
�
�
�������������������.E�.E�.E�.E�.E�.E�.E�.E�`��������#�#�#�#�#�#�#�#�@��������&�&�&�&�&�&�&�&�P��������A�A�A�A�A�A�A�A�0S�0S�0S�0S�0S�0S�0S�0S�d4�4�4�4�4�4�4�4�*"=�"=�"=�"=�"=�"=�"=�"=�H
&�
&�
&�
&�
&�
&�
&�
&�-�-�-�-�-�-�-�-�:����r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists