3
ÑÃ^î  ã               @   sð   d Z ddlmZ ddljjZddlmZmZm	Z	m
Z
mZmZmZ dZdZeƒ Zeeeeƒ eeddƒ eed	d
ƒ eeddƒ eeddƒ e
eddƒ e
eddƒ e	eddƒ e
eddƒ e
eddƒ eeƒ eƒ deiZeeƒ ddd„ZdS )z€
CPython 1.4 bytecode opcodes

This is used in bytecode disassembly. This is similar to the
opcodes in Python's dis.py library.
é    )Ú
findlabelsN)Úinit_opdataÚdef_opÚname_opÚ
varargs_opÚfinalize_opcodesÚformat_extended_argÚ
update_pj2gffffffö?ÚCPythonZ
UNARY_CALLé   ZBINARY_CALLé   ZRAISE_EXCEPTIONéQ   ZBUILD_FUNCTIONéV   Z
UNPACK_ARGé^   ZUNPACK_VARARGéc   Z
LOAD_LOCALés   ZSET_FUNC_ARGSéu   ZRESERVE_FASTé{   ÚEXTENDED_ARGFc             c   s†   | j }t|ƒ}d}xn||k r€|| }|d7 }|td d krj|dkrj|| ||d  d  }|d |fV  |td kr|d7 }qW d S )Nr   é   ÚopmapZ
SET_LINENOé   ÚHAVE_ARGUMENTé   )Úco_codeÚlenÚl)ÚcoZ	dup_linesÚcodeÚnÚoffsetÚopÚlineno© r#   úS/home/psgendb/BIRCHDEV/python/lib/python3.6/site-packages/xdis/opcodes/opcode_14.pyÚfindlinestarts=   s    
r%   )F)Ú__doc__Zxdis.cross_disr   Zxdis.opcodes.opcode_15ZopcodesZ	opcode_15Zxdis.opcodes.baser   r   r   r   r   r   r	   ÚversionÚpython_implementationÚlocalsr   ÚglobalsZopcode_arg_fmtr%   r#   r#   r#   r$   Ú<module>   s(   $