Sindbad~EG File Manager

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

�

��g#��
�ddlZddlZddlZd�ZGd�dejj��ZGd�dejj��ZGd�dejj	��Z
Gd	�d
ejj��ZGd�dejj	��ZGd
�dejj��Z
Gd�dejj��ZGd�dejj	��ZGd�dejj��ZGd�dejj	��Zd�ZdS)�Nc�R�|���D]}|j|kr|cS�dS�N)�fields�name)�typer�fields   �
./xmethods.py�
find_fieldr

s9�����������:�����L�L�L���4�c��eZdZd�ZdS)�
StdXMethodc�^�tjj�||��||_dSr)�gdb�xmethod�XMethod�__init__�worker)�selfrrs   r	rzStdXMethod.__init__s(�����$�$�T�4�0�0�0�����rN)�__name__�
__module__�__qualname__r�rr	r
r
s#����������rr
c�&�eZdZd�Zd�Zd�Zd�ZdS)�StdForwardListIterator_derefc�"�||_||_dSr��	elem_type�	node_type�rrrs   r	rz%StdForwardListIterator_deref.__init__���"���"����rc��dSrr�rs r	�
get_arg_typesz*StdForwardListIterator_deref.get_arg_types����trc��|jSr�r�r�objs  r	�get_result_typez,StdForwardListIterator_deref.get_result_type�
���~�rc�N�|d�|j��dS�N�__ptr_�__value_��castrr's  r	�__call__z%StdForwardListIterator_deref.__call__ �!���8�}�!�!�$�.�1�1�*�=�=rN�rrrrr#r)r1rrr	rr�P������#�#�#�������>�>�>�>�>rrc��eZdZd�Zd�ZdS)�StdForwardListIteratorMatcherc��tjj�|d��t	dt
��g|_dS)Nzforward_list::iterator�	operator*)rr�XMethodMatcherrr
r�methodsr"s r	rz&StdForwardListIteratorMatcher.__init__$s7����"�+�+�D�2J�K�K�K�"�;�0L�M�M�N����rc�t�tjd|j��sdSt|d��}|sdS|j������}|�d��}|jD]?}|j	|kr2|j
r+|�|�d��|��cS�@dS)Nz/^std::__1::__forward_list_(const_)?iterator<.*>r-r)�re�match�tagr
r�strip_typedefs�target�template_argumentr:r�enabledr)r�
class_type�method_name�	ptr_field�	link_typer�methods       r	r=z#StdForwardListIteratorMatcher.match(s����x�I�:�>�Z�Z�	��4��z�8�4�4�	��	��4��N�1�1�3�3�:�:�<�<�	��/�/��2�2�	��l�	U�	U�F��{�k�)�)��>�U�!�=�=��)E�)E�a�)H�)H�)�T�T�T�T�T���trN�rrrrr=rrr	r6r6#s5������O�O�O�����rr6c�&�eZdZd�Zd�Zd�Zd�ZdS)�StdListIterator_derefc�"�||_||_dSrrrs   r	rzStdListIterator_deref.__init__7r rc��dSrrr"s r	r#z#StdListIterator_deref.get_arg_types;r$rc��|jSrr&r's  r	r)z%StdListIterator_deref.get_result_type>r*rc�N�|d�|j��dSr,r/r's  r	r1zStdListIterator_deref.__call__Ar2rNr3rrr	rJrJ6r4rrJc��eZdZd�Zd�ZdS)�StdListIteratorMatcherc��tjj�|d��t	dt
��g|_dS)Nzlist::iteratorr8)rrr9rr
rJr:r"s r	rzStdListIteratorMatcher.__init__Es7����"�+�+�D�2B�C�C�C�"�;�0E�F�F�G����rc���tjd|j��sdSt|d��}|sdS|j������}t|���ddd��}	tj
|�����}n#YdSxYw|jD]?}|j
|kr2|jr+|�|�d��|��cS�@dS)Nz'^std::__1::__list_(const_)?iterator<.*>r-�__list_node_base�__list_node�r)r<r=r>r
rr?r@�str�replacer�lookup_type�pointerr:rrBrrA)rrCrDrErF�node_type_namerrGs        r	r=zStdListIteratorMatcher.matchIs���x�A�:�>�R�R�	��4��z�8�4�4�	��	��4��N�1�1�3�3�:�:�<�<�	��Y���/�/�0B�M�ST�U�U��	����7�7�?�?�A�A�I�I��	��4�4�����l�	U�	U�F��{�k�)�)��>�U�!�=�=��)E�)E�a�)H�)H�)�T�T�T�T�T���ts�&B(�(B-NrHrrr	rPrPDs5������H�H�H�����rrPc�&�eZdZd�Zd�Zd�Zd�ZdS)�StdUniquePtr_getc��||_dSrr&�rrs  r	rzStdUniquePtr_get.__init__\�
��"����rc��dSrrr"s r	r#zStdUniquePtr_get.get_arg_types_r$rc�4�|j���Sr)rrYr's  r	r)z StdUniquePtr_get.get_result_typebs���~�%�%�'�'�'rc��|ddSr,rr's  r	r1zStdUniquePtr_get.__call__es���8�}�Z�(�(rNr3rrr	r\r\[sP������#�#�#����(�(�(�)�)�)�)�)rr\c�&�eZdZd�Zd�Zd�Zd�ZdS)�StdUniquePtr_derefc��||_dSrr&r^s  r	rzStdUniquePtr_deref.__init__ir_rc��dSrrr"s r	r#z StdUniquePtr_deref.get_arg_typeslr$rc��|jSrr&r's  r	r)z"StdUniquePtr_deref.get_result_typeor*rc�B�|dd���Sr,)�dereferencer's  r	r1zStdUniquePtr_deref.__call__rs���8�}�Z�(�4�4�6�6�6rNr3rrr	rdrdhsP������#�#�#�������7�7�7�7�7rrdc��eZdZd�Zd�ZdS)�StdUniquePtrMatcherc���tjj�|d��t	dt
��t	dt
��t	dt��g|_dS)N�
unique_ptr�getz
operator->r8)rrr9rr
r\rdr:r"s r	rzStdUniquePtrMatcher.__init__vsU����"�+�+�D�,�?�?�?�"�5�*:�;�;�"�<�1A�B�B�"�;�0B�C�C�E����rc���tjd|j��sdS|jD]>}|j|kr1|jr*|�|�d����cS�?dS)Nz^std::__1::unique_ptr<.*>r�r<r=r>r:rrBrrA�rrCrDrGs    r	r=zStdUniquePtrMatcher.match|su���x�3�Z�^�D�D�	��4��l�	J�	J�F��{�k�)�)��>�J�!�=�=��)E�)E�a�)H�)H�I�I�I�I�I���trNrHrrr	rkrkus5������E�E�E�����rrkc�&�eZdZd�Zd�Zd�Zd�ZdS)�StdVector_subscriptc��||_dSrr&r^s  r	rzStdVector_subscript.__init__�r_rc�*�tjd��S)N�size_t)rrXr"s r	r#z!StdVector_subscript.get_arg_types�s����x�(�(�(rc��|jSrr&)rr(�indexs   r	r)z#StdVector_subscript.get_result_type�r*rc�Z�|d}|t|��z���S)N�__begin_)�intri)rr(rx�begins    r	r1zStdVector_subscript.__call__�s(���J�����E�
�
�"�/�/�1�1�1rNr3rrr	rsrs�sP������#�#�#�)�)�)����2�2�2�2�2rrsc��eZdZd�Zd�ZdS)�StdVectorMatcherc��tjj�|d��t	dt
��g|_dS)N�vectorz
operator[])rrr9rr
rsr:r"s r	rzStdVectorMatcher.__init__�s6����"�+�+�D�(�;�;�;�"�<�1D�E�E�F����rc���tjd|j��sdS|jD]>}|j|kr1|jr*|�|�d����cS�?dS)Nz^std::__1::vector<.*>rrprqs    r	r=zStdVectorMatcher.match�su���x�/���@�@�	��4��l�	J�	J�F��{�k�)�)��>�J�!�=�=��)E�)E�a�)H�)H�I�I�I�I�I���trNrHrrr	r~r~�s5������G�G�G�����rr~c�f�tj�|t����tj�|t	����tj�|t����tj�|t
����dSr)rr�register_xmethod_matcherr6rPrkr~)�objfiles r	�register_libcxx_xmethodsr��s����K�(�(��2O�2Q�2Q�R�R�R��K�(�(��2H�2J�2J�K�K�K��K�(�(��2E�2G�2G�H�H�H��K�(�(��2B�2D�2D�E�E�E�E�Er)r�gdb.xmethodr<r
rrr
�
XMethodWorkerrr9r6rJrPr\rdrkrsr~r�rrr	�<module>r�s(���
�
�
�����	�	�	�	�����������$����
>�>�>�>�>�3�;�#<�>�>�>������C�K�$>����&>�>�>�>�>�C�K�5�>�>�>������S�[�7����.)�)�)�)�)�s�{�0�)�)�)�7�7�7�7�7���2�7�7�7������#�+�4���� 2�2�2�2�2�#�+�3�2�2�2������s�{�1����F�F�F�F�Fr

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