
    J/Phh
                        d dl mZ d dlmZmZmZmZmZmZm	Z	  G d dej
                  Z G d dej
                  Zeegej        j        _        ej        ej        j        _        ej        gej        j        _        ej        gej        j        _        ej        ej        j        _        ej        gej        j        _        ej        gej        j        _        ej        ej        gej        j        _        eej        j        _        ej        gej        j        _        eej        j        _        ej        gej        j        _        eej        j        _        ej        gej        j        _        eej        j        _        ej        gej        j        _         e	e          ej        j        _        ej        gej        j        _        eej        j        _        dS )    )ffi)c_boolc_char_pc_charc_size_t	string_atc_uint64POINTERc                   >    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	S )
SectionIteratorRefc                 @    t           j                            |           S N)r   libLLVMPY_GetSectionNameselfs    \/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/llvmlite/binding/object_file.pynamezSectionIteratorRef.name       w,,T222    c                 @    t           j                            |           S r   )r   r   LLVMPY_IsSectionTextr   s    r   is_textzSectionIteratorRef.is_text
   s    w++D111r   c                 @    t           j                            |           S r   )r   r   LLVMPY_GetSectionSizer   s    r   sizezSectionIteratorRef.size   r   r   c                 @    t           j                            |           S r   )r   r   LLVMPY_GetSectionAddressr   s    r   addresszSectionIteratorRef.address   s    w//555r   c                     t          t          j                            |           |                                           S r   )r   r   r   LLVMPY_GetSectionContentsr   r   s    r   datazSectionIteratorRef.data   s*    ::4@@$))++NNNr   c                 B    t           j                            ||           S r   )r   r   LLVMPY_IsSectionIteratorAtEnd)r   object_files     r   is_endzSectionIteratorRef.is_end   s    w44[$GGGr   c                 D    t           j                            |            d S r   )r   r   LLVMPY_MoveToNextSectionr   s    r   nextzSectionIteratorRef.next       ((.....r   c                 D    t           j                            |            d S r   )r   r   LLVMPY_DisposeSectionIteratorr   s    r   _disposezSectionIteratorRef._dispose   s    --d33333r   N)__name__
__module____qualname__r   r   r   r   r"   r&   r)   r-    r   r   r   r      s        3 3 32 2 23 3 36 6 6O O OH H H/ / /4 4 4 4 4r   r   c                   F    e Zd Zed             Zed             Zd Zd ZdS )ObjectFileRefc                 n     | t           j                            |t          |                              S r   )r   r   LLVMPY_CreateObjectFilelen)clsr"   s     r   	from_datazObjectFileRef.from_data!   s*    s37224TCCDDDr   c                     t          |d          5 }|                                }d d d            n# 1 swxY w Y    | t          j                            |t          |                              S )Nrb)openreadr   r   r5   r6   )r7   pathfr"   s       r   	from_pathzObjectFileRef.from_path%   s    $ 	6688D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s37224TCCDDDs   266c              #      K   t          t          j                            |                     }|                    |           s/|V  |                                 |                    |           -d S d S r   )r   r   r   LLVMPY_GetSectionsr&   r)   )r   its     r   sectionszObjectFileRef.sections+   ss       : :4 @ @AA))D// 	HHHGGIII ))D// 	 	 	 	 	r   c                 D    t           j                            |            d S r   )r   r   LLVMPY_DisposeObjectFiler   s    r   r-   zObjectFileRef._dispose1   r*   r   N)r.   r/   r0   classmethodr8   r?   rC   r-   r1   r   r   r3   r3       sl        E E [E E E [E
  / / / / /r   r3   N)llvmlite.bindingr   ctypesr   r   r   r   r   r	   r
   	ObjectRefr   r3   r   r5   argtypesLLVMObjectFileRefrestyperE   rA   LLVMSectionIteratorRefr,   r(   r$   r   r   r   r!   r   r1   r   r   <module>rN      s                                4 4 4 4 4 4 4 44/ / / / /CM / / /* -5h+?  (*-*?  '-0-B,C   )'*'<&=  #%(%?  "252L1M % .-0-G,H   ) 3527 % .06 % -*-*D)E  &(0  %*-*D)E  &(0  %-0-G,H   )+3   (.1.H-I ! *,3GFOO ! )),)C(D  %'-  $ $ $r   