
|«‘_æ  ã               @   sr   d  d l  Z  d  d l Z d  d l Z d  d l m Z e j d d ƒ Z Gd d „  d e ƒ Z e	 e  d e ƒ Z
 d S)é    N)ÚsixÚOpArgz
opcode argc               @   s(   e  Z d  Z d d „  Z d d „  Z d S)ÚBytecode_compatc             C   s   | |  _  d  S)N)Úcode)Úselfr   © r   ú;/tmp/pip-build-3_sjtvrs/setuptools/setuptools/py33compat.pyÚ__init__   s    zBytecode_compat.__init__c             c   sâ   t  j  d |  j j ƒ } t |  j j ƒ } d } d } x¥ | | k  rÝ | | } | t j k r¼ | | d | | d d | } | d 7} | t j k rÌ t j d	 } | | d ƒ } q9 n d } | d 7} t	 | | ƒ Vq9 Wd S)
z>Yield '(op,arg)' pair for each operation in code object 'code'Úbr   é   é   é   é   i   Néÿÿÿÿ)
Úarrayr   Úco_codeÚlenÚdisZHAVE_ARGUMENTZEXTENDED_ARGr   Úinteger_typesr   )r   ÚbytesÚeofÚptrZextended_argÚopÚargZ	long_typer   r   r   Ú__iter__   s     
"

zBytecode_compat.__iter__N)Ú__name__Ú
__module__Ú__qualname__r	   r   r   r   r   r   r      s   r   ÚBytecode)r   r   ÚcollectionsZsetuptools.externr   Ú
namedtupler   Úobjectr   Úgetattrr   r   r   r   r   Ú<module>   s   "