ó
C]c           @   sß  d  d l  m Z d d l m Z m Z m Z m Z m Z m Z d e j	 f d „  ƒ  YZ
 d e j	 f d „  ƒ  YZ 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 j j _ e j g e j j _ e e j j _ d S(	   i   (   t   ffiiÿÿÿÿ(   t   c_boolt   c_char_pt   c_size_tt   c_ulonglongt	   string_att   c_uint64t   SectionIteratorRefc           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C   s   t  j j |  ƒ S(   N(   R    t   libt   LLVMPY_GetSectionName(   t   self(    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt   name   s    c         C   s   t  j j |  ƒ S(   N(   R    R   t   LLVMPY_IsSectionText(   R
   (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt   is_text   s    c         C   s   t  j j |  ƒ S(   N(   R    R   t   LLVMPY_GetSectionSize(   R
   (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt   size	   s    c         C   s   t  j j |  ƒ S(   N(   R    R   t   LLVMPY_GetSectionAddress(   R
   (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt   address   s    c         C   s   t  t j j |  ƒ |  j ƒ  ƒ S(   N(   R   R    R   t   LLVMPY_GetSectionContentsR   (   R
   (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt   data   s    c         C   s   t  j j | |  ƒ S(   N(   R    R   t   LLVMPY_IsSectionIteratorAtEnd(   R
   t   object_file(    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt   is_end   s    c         C   s   t  j j |  ƒ d  S(   N(   R    R   t   LLVMPY_MoveToNextSection(   R
   (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt   next   s    c         C   s   t  j j |  ƒ d  S(   N(   R    R   t   LLVMPY_DisposeSectionIterator(   R
   (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt   _dispose   s    (
   t   __name__t
   __module__R   R   R   R   R   R   R   R   (    (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyR      s   							t   ObjectFileRefc           B   s8   e  Z e d  „  ƒ Z e d „  ƒ Z d „  Z d „  Z RS(   c         C   s   |  t  j j | t | ƒ ƒ ƒ S(   N(   R    R   t   LLVMPY_CreateObjectFilet   len(   t   clsR   (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt	   from_data   s    c         C   sC   t  | d ƒ  } | j ƒ  } Wd  QX|  t j j | t | ƒ ƒ ƒ S(   Nt   rb(   t   opent   readR    R   R   R   (   R    t   patht   fR   (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt	   from_path   s    c         c   sA   t  t j j |  ƒ ƒ } x" | j |  ƒ s< | V| j ƒ  q Wd  S(   N(   R   R    R   t   LLVMPY_GetSectionsR   R   (   R
   t   it(    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt   sections!   s    c         C   s   t  j j |  ƒ d  S(   N(   R    R   t   LLVMPY_DisposeObjectFile(   R
   (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyR   '   s    (   R   R   t   classmethodR!   R'   R*   R   (    (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyR      s   	N(   t    R    t   ctypesR   R   R   R   R   R   t	   ObjectRefR   R   R   R   t   argtypest   LLVMObjectFileReft   restypeR+   R(   t   LLVMSectionIteratorRefR   R   R   R	   R   R   R   R   (    (    (    s;   lib/python2.7/site-packages/llvmlite/binding/object_file.pyt   <module>   s,   .