Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_dis.cpython-39.opt-1.pyc

a

��g���t@s�ddlmZddlmZddlZddlZddlZddlZddlZddl	Z	ddl
Z
dd�Ze�jj
ZGdd�d�Zdejjjd	fZd
ZdejjjdfZd
ejjjdfZdejjeejjeejjefZdd�Zdejjd	ejjdfZdZdd�Zdejjd	ejjdejjd	ejjdfZgfdd�Z de jjd	e!e jjd	e jjde jjd	e jjdfZ"dZ#dZ$dZ%dZ&dZ'dZ(d Z)d!Z*d"Z+d#Z,d$Z-d%ejd	ejdejdejd&ejd'fZ.d(d)�Z/d*e/jjd	fZ0d+d,�Z1d-d.�Z2d/e1jjd	e1jjde1jjd&e1jjde1jjd&fZ3d0e2jjd	e2jjde2jjd&e2jjde2jjd&fZ4d1d2�Z5d3d4�Z6d5d6�Z7d7d8�Z8d9e8jjd	e!e8jjd	e8jjd&fZ9d:e9e!e8jjd	e8jjde!e8jjdfZ:d;e:e!e8jjde8jjdfZ;Gd<d=�d=ej<�Z=Gd>d?�d?e=�Z>d@ej?j@dk�r<dAndBZAeB�d4gdD�dEdF��ZCdGZDeCjEjjFd	ZGdHZHdIZIdJZJdKZKdLdM�ZLdNZMGdOdP�dPej<�ZN�d5dQdR�ZOdSdT�ZPd	ZQeOjjd	ZReOjjFdZSeSjeRZTeSjFdZUeUjeRZVd	ZWejXZXeXdUdVdWdXdYdddZd[�eXd\d]dd^d^dddZd[�eXd\d]d	d_d_d&ddZd[�eXd`dadddbdcddZd[�eXdUdVdeSeYeS�dWddZd[�eXdUdVd&dddedfddZd[�eXdgdhdididjdkddZd[�eXdldmddndndoddZd[�eXdpdqddrdrdsdtdZd[�eXdudvdd^d^dwddZd[�eXdudvd	d_d_dxddZd[�eXdUdVd'dbdydzddZd[�eXdUdVdcd	d{d|ddZd[�eXd}d~dddbdddZd[�eXd�d�dddbd�ddZd[�eXdUdVdtd�d�d�ddZd[�eXd�d�dtdtdbd�ddZd[�eXd�d	dddbd�ddZd[�eXd�d�ddndnd�dWdZd[�eXd�d�dddbd�ddZd[�gZZeXdUdVd'd�d�dddZd[�eXd\d]dd^d^dddZd[�eXd\d]dd_d_d&ddZd[�eXd\d]dd�d�dcddZd[�eXd\d]d	d�d�dWddZd[�eXd`dad&d&dbdfddZd[�eXdUdVdeUeYeU�dkddZd[�eXdUdVd&d�d�doddZd[�eXdgdhdididjdsddZd[�eXdldmdd�d�dwddZd[�eXdpdqddrdrdxd'dZd[�eXdudvdd^d^dzddZd[�eXdudvdd_d_d|ddZd[�eXdudvdd�d�dddZd[�eXdudvd	d�d�d�ddZd[�eXd�d�d&d&dbd�ddZd[�eXd�d	dddbd�ddZd[�eXd�d�dd�d�d�dcdZd[�eXd�d�dddbd�ddZd[�gZ[eXdpdqddrdrdd&dZd[�eXdudvdd^d^dddZd[�eXdudvd	d_d_d&ddZd[�eXdudvdd�d�dcddZd[�eXdudvdd�d�dWddZd[�eXd�d�dd�d�dfddZd[�eXd�d�d	dndndkddZd[�eXd�d�dcdcdbdoddZd[�eXd�d	dddbdsddZd[�eXdUdVddd�dwddZd[�eXd�d�dddbdxddZd[�gZ\eXdpdqdd�d�dddZd[�eXdUdVd	dfd�dddZd[�eXd�d�d	d	dbd&ddZd[�eXd�d�dddbdcddZd[�eXd�d�d�d�d�dWddCd[�eXdldmdd�d�dfddZd[�eXdpdqd	drdrdkd&dZd[�eXd�d�dd�d�doddZd[�eXd�d�d	d	dbdsddZd[�eXd�d	dddbdwddZd[�eXd�d�dd�d�dxd'dZd[�eXdUdVdd&d�dzddZd[�eXd�d�dd�d�d|ddZd[�eXd�d�d�d�dbdddZd[�eXd�d�dWdWdbd�dcdZd[�eXd�d�dd�d�d�dtdCd[�eXdUdVddcd�d�ddZd[�eXd�d�d&d�d�d�ddZd[�eXd�d�dWdWdbd�ddZd[�eXd�d	dddbd�dWdZd[�eXd�d�d�d�dbd�ddZd[�eXd�d�dWdWdbd�ddZd[�eXdpdqd	drdrd�dfdCd[�eXdUdVd&d�d�d�ddZd[�eXd�d�d	d	dbd�ddZd[�eXd�d	dddbd�ddZd[�eXd�d�dd�d�d�d�dCd[�eXd�d�d�d�dbd�ddZd[�eXdpdqd	drdrd�dkdZd[�eXd�d�dd�d�d�ddZd[�eXd�d�d	d	dbd�ddZd[�eXd�d	dddbd�ddZd[�eXd�d�dd�d�d�d�dZd[�eXdUdVd'd	d{d�ddZd[�eXd�d�dddbd�ddZd[�eXdldmdd�d�d�ddZd[�eXd�d�dd�d�d�dodZd[�eXdUdVddcd�d�ddZd[�eXd�d�d&d�d�d�ddZd[�eXd�d�d�d�dbd�ddZd[�eXd�d�d�d�dbd�d�dZd[�eXd�d�dd�d�d�dsdCd[�eXdUdVdd&d�d�ddZd[�eXd�d�dd�d�d�ddZd[�eXd�d�d�d�dbd�ddZd[�eXd�d�dadadbd�d�dZd[�eXd�d�d�d�dbd�ddZd[�eXdpdqd	drdrd�d�dCd[�eXdUdVdcd�d�d�ddZd[�eXd�d�d	d	dbd�ddZd[�eXd�d	dddbdVddZd[�eXd�d�d�d�d�dadxdCd[�eXd�d�dkd�d�d�ddZd[�eXdUdVd'd	d{d�d�dZd[�eXdUdVdtdd�d�ddZd[�eXd�d�dddbd�ddZd[�eXd�d	dddbd�ddZd[�eXd�d�dddbd�ddZd[�eXd�d�dd�d�dqddZd[�eXd�d&dddbd�dzdCd[�eXdpdqdd�d�d�ddZd[�eXd�d�d�d�dbd�ddZd[�eXd�d	dddbd�ddZd[�eXd�d	dddbd�ddZd[�eXd�d	dddbd�ddZd[�eXdpdqd	drdrd�d�dZd[�eXdUdVdWd�d�dhddZd[�eXd�d�d	d	dbd�ddZd[�eXd�d	dddbdvddZd[�eXd�d�dddbd�ddZd[�eXd�d�d�d�d�d�ddZd[�eXd�d�dddbd�ddCd[�eXd�d�dd�d�d�d�dCd[�eXd�d�d|d�d��dddZd[�eXdldmd	�d�d�dddZd[�eXdpdqd	drdr�dddZd[�eXdUdVdi�d�d�dddZd[�eXd�d�d	d	db�dddZd[�eXd�d	dddb�dddZd[�eXd�d�dddb�d	ddZd[�eXdUdVddd��d
ddZd[�eXd�d&dddb�dddZd[�eXd�d&dddb�dddZd[�eXd�d�dddb�d
ddZd[�eXd�d	dddb�dddZd[�eXd�d�dsd�d��dddZd[�eX�d�ddddbd�ddCd[�eX�d�d�d�ddb�dddZd[�eXd�d�dddb�dddZd[�eXd�d	dddb�dddCd[�eXd�d	dddb�dddZd[�eXd�d	dddb�dddZd[�eXd�d�dddb�dddZd[�eXd�d	dddb�dddZd[�eXd�d�dddbd�ddCd[�eXdpdqd	drdr�dd�dZd[�eXdUdVdf�d�d�dddZd[�eXd�d�d	d	db�dddZd[�eXd�d	dddb�d ddZd[�eXd�d�df�d!�d"�d#ddZd[�eXdpdqd	drdrd�ddCd[�eXdUdVdf�d�d�d$ddZd[�eXd�d�d	d	db�d%ddZd[�eXd�d	dddb�d&ddZd[�eXd�d�dddb�d'ddZd[�eXdUdVddd��d!ddCd[�eXd�d�dddb�d(ddZd[�gkZ]�d)�d*�Z^eXdUdVddd�de^jjdZd[�eXd�d�dddbdddZd[�gZ_G�d+�d,��d,e�Z`G�d-�d.��d.ej<�ZaG�d/�d0��d0ej<�ZbG�d1�d2��d2eb�Zce�d3k�r�e�d�dS(6�)�captured_stdout)�BytecodeTestCaseNcCs dd�}|�}|jr|j}q|S)Nc
Ss<zddWn*ty6}z|j}WYd}~n
d}~00|S�N�r)�	Exception�
__traceback__)�e�tb�r
�)/usr/local/lib/python3.9/test/test_dis.py�_errors
zget_tb.<locals>._error)�tb_next)rr	r
r
r�get_tb
s
rc@s,eZdZdd�Zedd��Zedd��ZdS)�_CcCs|dk|_dS�Nr��x)�selfrr
r
r�__init__sz_C.__init__cCs|dk}dSrr
rr
r
r�sm sz_C.smcCs|dk|_dSrr)�clsrr
r
r�cm$sz_C.cmN)�__name__�
__module__�__qualname__r�staticmethodr�classmethodrr
r
r
rrs

ra>%3d           0 LOAD_FAST                1 (x)
              2 LOAD_CONST               1 (1)
              4 COMPARE_OP               2 (==)
              6 LOAD_FAST                0 (self)
              8 STORE_ATTR               0 (x)
             10 LOAD_CONST               0 (None)
             12 RETURN_VALUE
ra          0 LOAD_FAST                1 (1)
          2 LOAD_CONST               1 (1)
          4 COMPARE_OP               2 (==)
          6 LOAD_FAST                0 (0)
          8 STORE_ATTR               0 (0)
         10 LOAD_CONST               0 (0)
         12 RETURN_VALUE
a=%3d           0 LOAD_FAST                1 (x)
              2 LOAD_CONST               1 (1)
              4 COMPARE_OP               2 (==)
              6 LOAD_FAST                0 (cls)
              8 STORE_ATTR               0 (x)
             10 LOAD_CONST               0 (None)
             12 RETURN_VALUE
�a%3d           0 LOAD_FAST                0 (x)
              2 LOAD_CONST               1 (1)
              4 COMPARE_OP               2 (==)
              6 STORE_FAST               0 (x)
              8 LOAD_CONST               0 (None)
             10 RETURN_VALUE
zBDisassembly of %s:
%s
Disassembly of %s:
%s
Disassembly of %s:
%s
cCst|�dSr��print)�ar
r
r�_f[sr!z�%3d           0 LOAD_GLOBAL              0 (print)
              2 LOAD_FAST                0 (a)
              4 CALL_FUNCTION            1
              6 POP_TOP

%3d           8 LOAD_CONST               1 (1)
             10 RETURN_VALUE
z�          0 LOAD_GLOBAL              0 (0)
          2 LOAD_FAST                0 (0)
          4 CALL_FUNCTION            1
          6 POP_TOP
          8 LOAD_CONST               1 (1)
         10 RETURN_VALUE
cCstdd�D]}q
dS)Nr�
)�range)�resr
r
r�	bug708901us�r%a�%3d           0 LOAD_GLOBAL              0 (range)
              2 LOAD_CONST               1 (1)

%3d           4 LOAD_CONST               2 (10)

%3d           6 CALL_FUNCTION            2
              8 GET_ITER
        >>   10 FOR_ITER                 4 (to 16)
             12 STORE_FAST               0 (res)

%3d          14 JUMP_ABSOLUTE           10
        >>   16 LOAD_CONST               0 (None)
             18 RETURN_VALUE
�cCsdS�Nr
rr
r
r�
bug1333982�sr(a�%3d           0 LOAD_CONST               1 (0)
              2 POP_JUMP_IF_TRUE        26
              4 LOAD_ASSERTION_ERROR
              6 LOAD_CONST               2 (<code object <listcomp> at 0x..., file "%s", line %d>)
              8 LOAD_CONST               3 ('bug1333982.<locals>.<listcomp>')
             10 MAKE_FUNCTION            0
             12 LOAD_FAST                0 (x)
             14 GET_ITER
             16 CALL_FUNCTION            1

%3d          18 LOAD_CONST               4 (1)

%3d          20 BINARY_ADD
             22 CALL_FUNCTION            1
             24 RAISE_VARARGS            1

%3d     >>   26 LOAD_CONST               0 (None)
             28 RETURN_VALUE
z�%3d           0 LOAD_GLOBAL              0 (spam)
              2 POP_TOP
              4 LOAD_CONST               0 (None)
              6 RETURN_VALUE
z�%4d           0 LOAD_GLOBAL              0 (spam)
               2 POP_TOP
               4 LOAD_CONST               0 (None)
               6 RETURN_VALUE
z�Disassembly of f:
  4           0 LOAD_CONST               0 (None)
              2 RETURN_VALUE

Disassembly of g:
  5           0 LOAD_CONST               0 (None)
              2 RETURN_VALUE

zx + 1z�  1           0 LOAD_NAME                0 (x)
              2 LOAD_CONST               0 (1)
              4 BINARY_ADD
              6 RETURN_VALUE
�	x = x + 1z�  1           0 LOAD_NAME                0 (x)
              2 LOAD_CONST               0 (1)
              4 BINARY_ADD
              6 STORE_NAME               0 (x)
              8 LOAD_CONST               1 (None)
             10 RETURN_VALUE
z+
x: int = 1
y: fun(1)
lst[fun(0)]: int = 1
a�  2           0 SETUP_ANNOTATIONS
              2 LOAD_CONST               0 (1)
              4 STORE_NAME               0 (x)
              6 LOAD_NAME                1 (int)
              8 LOAD_NAME                2 (__annotations__)
             10 LOAD_CONST               1 ('x')
             12 STORE_SUBSCR

  3          14 LOAD_NAME                3 (fun)
             16 LOAD_CONST               0 (1)
             18 CALL_FUNCTION            1
             20 LOAD_NAME                2 (__annotations__)
             22 LOAD_CONST               2 ('y')
             24 STORE_SUBSCR

  4          26 LOAD_CONST               0 (1)
             28 LOAD_NAME                4 (lst)
             30 LOAD_NAME                3 (fun)
             32 LOAD_CONST               3 (0)
             34 CALL_FUNCTION            1
             36 STORE_SUBSCR
             38 LOAD_NAME                1 (int)
             40 POP_TOP
             42 LOAD_CONST               4 (None)
             44 RETURN_VALUE
zx = 0
while 1:
    x += 1a�  1           0 LOAD_CONST               0 (0)
              2 STORE_NAME               0 (x)

  3     >>    4 LOAD_NAME                0 (x)
              6 LOAD_CONST               1 (1)
              8 INPLACE_ADD
             10 STORE_NAME               0 (x)
             12 JUMP_ABSOLUTE            4
             14 LOAD_CONST               2 (None)
             16 RETURN_VALUE
a�%3d           0 SETUP_FINALLY           12 (to 14)

%3d           2 LOAD_CONST               1 (1)
              4 LOAD_CONST               2 (0)
    -->       6 BINARY_TRUE_DIVIDE
              8 POP_TOP
             10 POP_BLOCK
             12 JUMP_FORWARD            42 (to 56)

%3d     >>   14 DUP_TOP
             16 LOAD_GLOBAL              0 (Exception)
             18 JUMP_IF_NOT_EXC_MATCH    54
             20 POP_TOP
             22 STORE_FAST               0 (e)
             24 POP_TOP
             26 SETUP_FINALLY           18 (to 46)

%3d          28 LOAD_FAST                0 (e)
             30 LOAD_ATTR                1 (__traceback__)
             32 STORE_FAST               1 (tb)
             34 POP_BLOCK
             36 POP_EXCEPT
             38 LOAD_CONST               0 (None)
             40 STORE_FAST               0 (e)
             42 DELETE_FAST              0 (e)
             44 JUMP_FORWARD            10 (to 56)
        >>   46 LOAD_CONST               0 (None)
             48 STORE_FAST               0 (e)
             50 DELETE_FAST              0 (e)
             52 RERAISE
        >>   54 RERAISE

%3d     >>   56 LOAD_FAST                1 (tb)
             58 RETURN_VALUE
��cCs|�d|d�d|�d|d��S)N� �4r
�r �b�c�dr
r
r�_fstring:sr2a�%3d           0 LOAD_FAST                0 (a)
              2 FORMAT_VALUE             0
              4 LOAD_CONST               1 (' ')
              6 LOAD_FAST                1 (b)
              8 LOAD_CONST               2 ('4')
             10 FORMAT_VALUE             4 (with format)
             12 LOAD_CONST               1 (' ')
             14 LOAD_FAST                2 (c)
             16 FORMAT_VALUE             2 (repr)
             18 LOAD_CONST               1 (' ')
             20 LOAD_FAST                3 (d)
             22 LOAD_CONST               2 ('4')
             24 FORMAT_VALUE             6 (repr, with format)
             26 BUILD_STRING             7
             28 RETURN_VALUE
cCsz|W|�S|�0dSr'r
�r r/r
r
r�_tryfinallyOs
�r4cCszW|�dS|�0dSrr
)r/r
r
r�_tryfinallyconstUs
�r5a�%3d           0 SETUP_FINALLY           12 (to 14)

%3d           2 LOAD_FAST                0 (a)
              4 POP_BLOCK

%3d           6 LOAD_FAST                1 (b)
              8 CALL_FUNCTION            0
             10 POP_TOP

%3d          12 RETURN_VALUE

%3d     >>   14 LOAD_FAST                1 (b)
             16 CALL_FUNCTION            0
             18 POP_TOP
             20 RERAISE
             22 LOAD_CONST               0 (None)
             24 RETURN_VALUE
a�%3d           0 SETUP_FINALLY           12 (to 14)

%3d           2 POP_BLOCK

%3d           4 LOAD_FAST                0 (b)
              6 CALL_FUNCTION            0
              8 POP_TOP

%3d          10 LOAD_CONST               1 (1)
             12 RETURN_VALUE

%3d     >>   14 LOAD_FAST                0 (b)
             16 CALL_FUNCTION            0
             18 POP_TOP
             20 RERAISE
             22 LOAD_CONST               0 (None)
             24 RETURN_VALUE
ccs
|VdSr'r
rr
r
r�_g�sr6cCs
|VdSr'r
rr
r
r�_ag�sr7c�st|�2z3dHW}q6dSr')r7)r�itemr
r
r�_co�sr9cs�fdd�}|S)Ncs�fdd��D�S)Zfuncdoccsg|]}�|�qSr
r
)�.0�zrr
r�
<listcomp>��z#_h.<locals>.foo.<locals>.<listcomp>r
r��yrr�foo�sz_h.<locals>.foor
)r?r@r
r>r�_h�srAa�%3d           0 LOAD_CLOSURE             0 (y)
              2 BUILD_TUPLE              1
              4 LOAD_CONST               1 (<code object foo at 0x..., file "%s", line %d>)
              6 LOAD_CONST               2 ('_h.<locals>.foo')
              8 MAKE_FUNCTION            8 (closure)
             10 STORE_FAST               1 (foo)

%3d          12 LOAD_FAST                1 (foo)
             14 RETURN_VALUE
a%s
Disassembly of <code object foo at 0x..., file "%s", line %d>:
%3d           0 LOAD_CLOSURE             0 (x)
              2 BUILD_TUPLE              1
              4 LOAD_CONST               1 (<code object <listcomp> at 0x..., file "%s", line %d>)
              6 LOAD_CONST               2 ('_h.<locals>.foo.<locals>.<listcomp>')
              8 MAKE_FUNCTION            8 (closure)
             10 LOAD_DEREF               1 (y)
             12 GET_ITER
             14 CALL_FUNCTION            1
             16 RETURN_VALUE
a�%s
Disassembly of <code object <listcomp> at 0x..., file "%s", line %d>:
%3d           0 BUILD_LIST               0
              2 LOAD_FAST                0 (.0)
        >>    4 FOR_ITER                12 (to 18)
              6 STORE_FAST               1 (z)
              8 LOAD_DEREF               0 (x)
             10 LOAD_FAST                1 (z)
             12 BINARY_ADD
             14 LIST_APPEND              2
             16 JUMP_ABSOLUTE            4
        >>   18 RETURN_VALUE
c@s�eZdZdZd>dd�Zd?dd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Z dS)@�DisTestsN���TcKsft��}t�|��<|r,tj|fi|��ntj||fi|��Wd�n1sT0Y|��Sr')�io�StringIO�
contextlib�redirect_stdout�dis�disassemble�getvalue�r�func�lasti�wrapper�kwargs�outputr
r
r�get_disassembly�s2zDisTests.get_disassemblycCs|�||d�S)NF)rQ)rrLrMr
r
r�get_disassemble_as_string�sz"DisTests.get_disassemble_as_stringcCst�dd|�S)Nz\b0x[0-9A-Fa-f]+\bz0x...)�re�sub)r�textr
r
r�strip_addresses�szDisTests.strip_addressescCs0|j|dd�}||kr |�|�}|�||�dS)Nr��depth)rQrV�assertEqual)rrL�expectedZgotr
r
r�do_disassembly_test�s
zDisTests.do_disassembly_testcCs>|�tjdd�|�tjdtj�|�tjdtj�dS)NZNOP�	�
LOAD_CONST�
STORE_NAME)rYrH�opmapZassertInZhasconstZhasname�rr
r
r�
test_opmap�szDisTests.test_opmapcCs|�tjtjdd�dS)N�	LOAD_FAST)rYrH�opnamer_r`r
r
r�test_opname�szDisTests.test_opnamecCs,|�tjdtj�|�tjdtj�dS)N�EXTENDED_ARGr^)rYrHr_re�
HAVE_ARGUMENTr`r
r
r�test_boundaries�szDisTests.test_boundariesc	Cs|ttj�D]l\}}|dvrq
|j|d��>tj}|tjkrH|dtj7}|�t|�|�Wd�q
1sl0Yq
dS)N)ZBUILD_MAP_UNPACK_WITH_CALLZBUILD_TUPLE_UNPACK_WITH_CALL�JUMP_IF_NOT_EXC_MATCH)rcr)	�	enumeraterHrc�subTestZ
_OPNAME_WIDTHrfZ_OPARG_WIDTHZassertLessEqual�len)r�opcoderc�widthr
r
r�test_widths�s
zDisTests.test_widthscCs|�tt�dSr')r[r!�dis_fr`r
r
r�test_disszDisTests.test_discCs|�tt�dSr')r[r%�
dis_bug708901r`r
r
r�test_bug_708901szDisTests.test_bug_708901cCs|�d�|�tt�dS)Nzneed asserts, run without -O)ZskipTestr[r(�dis_bug1333982r`r
r
r�test_bug_1333982s
zDisTests.test_bug_1333982cCs�dd�}tdd�D] }t|d}|�||�|�qtddd�D] }t|d}|�||�|�q@tddd�D] }t|d}|�||�|�qnd	d
lm}|�|t�dS)NcSs0i}dd�dg|dg�}t||�|dS)Nzdef foo():
 �z
 zspam
r@��join�exec��count�	namespacerLr
r
rrLs
z'DisTests.test_big_linenos.<locals>.funcri,r��r"i�r)�
dis_module)r#�_BIG_LINENO_FORMATr[�_BIG_LINENO_FORMAT2�testr}�dis_module_expected_results)rrL�irZr}r
r
r�test_big_linenosszDisTests.test_big_linenoscCsfdd�}dd�}tdd�D]}|�||�||d��q|�|d�|dd��|�|d	�|d	d��dS)
NcSs.i}dd�dg|�d}t||�|dS)Nz
def foo(x):
 �;r)z

 return xr@rvryr
r
rrL,s
z'DisTests.test_big_offsets.<locals>.funccsZ�fdd�t|�D�}|d�d|�d|dfg7}d|ddd�|d<d	�|�S)
Ncs@g|]8}d�d|�d|d�d|d�d|df�qS)z�           %*d LOAD_FAST                0 (x)
           %*d LOAD_CONST               1 (1)
           %*d BINARY_ADD
           %*d STORE_FAST               0 (x)
�rr*�r
)r:r���wr
rr<3s�.�z?DisTests.test_big_offsets.<locals>.expected.<locals>.<listcomp>zK
  3        %*d LOAD_FAST                0 (x)
           %*d RETURN_VALUE
r�rz  2rr&ru)r#rw)rzr��sr
r�rrZ2s
��z+DisTests.test_big_offsets.<locals>.expectedrr+r*i�i�)r#r[)rrLrZr�r
r
r�test_big_offsets+szDisTests.test_big_offsetscCs4|�tt�|�tt�|�tt�|�tt�dSr')	r[�expr_str�dis_expr_str�simple_stmt_str�dis_simple_stmt_str�annot_stmt_str�dis_annot_stmt_str�compound_stmt_str�dis_compound_stmt_strr`r
r
r�test_disassemble_strGszDisTests.test_disassemble_strcCs|�tjjt�dSr')r[r!�__code__�co_code�
dis_f_co_coder`r
r
r�test_disassemble_bytesMszDisTests.test_disassemble_bytescCs|�tt�dSr')r[r�dis_cr`r
r
r�test_disassemble_classPszDisTests.test_disassemble_classcCs|�td�jt�dSr)r[rr�dis_c_instance_methodr`r
r
r� test_disassemble_instance_methodSsz)DisTests.test_disassemble_instance_methodcCstd�jjj}|�|t�dSr)rrr�r�r[�dis_c_instance_method_bytes)rZmethod_bytecoder
r
r�&test_disassemble_instance_method_bytesVsz/DisTests.test_disassemble_instance_method_bytescCs|�tjt�dSr')r[rr�dis_c_static_methodr`r
r
r�test_disassemble_static_methodZsz'DisTests.test_disassemble_static_methodcCs|�tjt�dSr')r[rr�dis_c_class_methodr`r
r
r�test_disassemble_class_method]sz&DisTests.test_disassemble_class_methodcCs(|�t�}|�td��}|�||�dSr)rQr6rY)rZgen_func_disasZ	gen_disasr
r
r�test_disassemble_generator`s
z#DisTests.test_disassemble_generatorcCs(|�t�}|�td��}|�||�dSr)rQr7rY)rZagen_func_disasZ
agen_disasr
r
r� test_disassemble_async_generatores
z)DisTests.test_disassemble_async_generatorcCs4|�t�}td�}|��|�|�}|�||�dSr)rQr9�closerY)rZcoro_func_disas�coroZ
coro_disasr
r
r�test_disassemble_coroutinejs


z#DisTests.test_disassemble_coroutinecCs|�tt�dSr')r[r2�dis_fstringr`r
r
r�test_disassemble_fstringqsz!DisTests.test_disassemble_fstringcCs|�tt�|�tt�dSr')r[r4�dis_tryfinallyr5�dis_tryfinallyconstr`r
r
r�test_disassemble_try_finallytsz%DisTests.test_disassemble_try_finallycCs0zt`WntyYn0|�ttjd�dSr')�sys�last_traceback�AttributeError�assertRaises�RuntimeErrorrHr`r
r
r�
test_dis_nonexs
zDisTests.test_dis_nonec
Cs|zt`WntyYn0zddWn0tyX}z|j}|t_WYd}~n
d}~00|�|jj|j�}|�	d|�dSr)
r�r�r�rrrR�tb_frame�f_code�tb_lastir[)rrr	Ztb_disr
r
r�test_dis_tracebackszDisTests.test_dis_tracebackcCs|�ttjt��dSr')r��	TypeErrorrH�objectr`r
r
r�test_dis_object�szDisTests.test_dis_objectcsT�fdd�}|tdd�|tdd�|tdd�|tdd�|tdd�|t�dS)Ncs,�jtfi|��}��|�}��||�dSr')rQrArVrY)rZrOrHr`r
r�check�s
z2DisTests.test_disassemble_recursive.<locals>.checkrrWrrr&)�dis_nested_0�dis_nested_1�dis_nested_2)rr�r
r`r�test_disassemble_recursive�sz#DisTests.test_disassemble_recursive)rCT)rC)!rrr�maxDiffrQrRrVr[rardrgrnrprrrtr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
r
r
rrB�s<


rBc@seZdZddd�ZdS)�DisWithFileTestsrCTcKsDt��}|r$tj|fd|i|��ntj||fd|i|��|��S)N�file)rDrErHrIrJrKr
r
rrQ�s
z DisWithFileTests.get_disassemblyN)rCT�rrrrQr
r
r
rr��sr�a7Name:              code_info
Filename:          (.*)
Argument count:    1
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  1
Stack size:        3
Flags:             OPTIMIZED, NEWLOCALS, NOFREE
Constants:
   0: %r
Names:
   0: _format_code_info
   1: _get_code_object
Variable names:
   0: x)z1Formatted details of methods, functions, or code.r'T)rc
	/s:|f��������fdd�	������|���f	VdS)Nc
st�����|����	dSr'r)r0�r r/r1r�frr?r;r
rr��sztricky.<locals>.fr
)
r r/rr?r;r0r1r�args�kwdsr
r�r�tricky�sr�a.Name:              tricky
Filename:          (.*)
Argument count:    5
Positional-only arguments: 2
Kw-only arguments: 3
Number of locals:  10
Stack size:        9
Flags:             OPTIMIZED, NEWLOCALS, VARARGS, VARKEYWORDS, GENERATOR
Constants:
   0: None
   1: <code object f at (.*), file "(.*)", line (.*)>
   2: 'tricky.<locals>.f'
Variable names:
   0: a
   1: b
   2: x
   3: y
   4: z
   5: c
   6: d
   7: e
   8: args
   9: kwds
Cell variables:
   0: [abedfxyz]
   1: [abedfxyz]
   2: [abedfxyz]
   3: [abedfxyz]
   4: [abedfxyz]
   5: [abedfxyz]apFilename:          (.*)
Argument count:    1
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  1
Stack size:        10
Flags:             OPTIMIZED, NEWLOCALS, NESTED
Constants:
   0: None
Names:
   0: print
Variable names:
   0: c
Free variables:
   0: [abedfxyz]
   1: [abedfxyz]
   2: [abedfxyz]
   3: [abedfxyz]
   4: [abedfxyz]
   5: [abedfxyz]z�Name:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        2
Flags:             NOFREE
Constants:
   0: 1
Names:
   0: xz�Name:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        2
Flags:             NOFREE
Constants:
   0: 1
   1: None
Names:
   0: xz�Name:              <module>
Filename:          <disassembly>
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  0
Stack size:        2
Flags:             NOFREE
Constants:
   0: 0
   1: 1
   2: None
Names:
   0: xc	�sZdIdHt2z3dHW}q6t4IdH�}Wd�IdHqV1IdHsL0YdSr)r/r0)r r1r
r
r�	async_def+s
r�a5Name:              async_def
Filename:          (.*)
Argument count:    0
Positional-only arguments: 0
Kw-only arguments: 0
Number of locals:  2
Stack size:        9
Flags:             OPTIMIZED, NEWLOCALS, NOFREE, COROUTINE
Constants:
   0: None
   1: 1
Names:
   0: b
   1: c
Variable names:
   0: a
   1: dc@s\eZdZejefeefee	fe
efee
feefeefgZdd�Zdd�Zdd�Zdd�Zd	S)
�
CodeInfoTestscCs,d|_|jD]\}}|�t�|�|�qdS�Nr|)r��
test_pairs�assertRegexrH�	code_info)rrrZr
r
r�test_code_infoNszCodeInfoTests.test_code_infoc	Cs�d|_|jD]r\}}t��}t�|�Wd�n1s:0Y|�|��|d�t��}tj||d�|�|��|�qdS)Nr|�
�r�)	r�r�rrHZ	show_coder�rJrDrE)rrrZrPr
r
r�test_show_codeSs(zCodeInfoTests.test_show_codecCs|�ttjt��dSr')r�r�rHr�r�r`r
r
r�test_code_info_object]sz#CodeInfoTests.test_code_info_objectcCs|�t�d�d�dS)NrZ0x0)rYrHZpretty_flagsr`r
r
r�test_pretty_flags_no_flags`sz(CodeInfoTests.test_pretty_flags_no_flagsN)rrrrHr��code_info_code_infor��code_info_tricky�co_tricky_nested_f�code_info_tricky_nested_fr��code_info_expr_strr��code_info_simple_stmt_strr��code_info_compound_stmt_strr��code_info_async_defr�r�r�r�r�r
r
r
rr�Cs�

r�cs(d��fdd�	}t��ddgid�|S)	Nr&r*cs&d����fdd�	}t�����|S)Nr+r�cst����||�dSr'r)rr�r.r
r�innerhs�outer.<locals>.f.<locals>.inner)r+r�r)r0r1r�r3)r0r1rr�gs�outer.<locals>.frur�Hello world!)r&r*r)r r/r�r
r3r�outerfsr�cCs�td�D]"}t|�|dkrq|dkrq4qtd�|r^t|�|d8}|dkrRq4|dkr4qfq4td�z`zddWnty�td�Yn.0|�}td	�Wd�n1s�0YWtd
�n
td
�0dS)Nr"r*r��I can haz else clause?r�%Who let lolcatz into this test suite?r�%Here we go, here we go, here we go...�Never reach this�OK, now we're done)r#r�ZeroDivisionError)r��dodgyr
r
r�jumpyos,(r�r]�dr�)r&r*z(3, 4)F)rcrl�argZargvalZargrepr�offsetZstarts_lineZis_jump_targetZLOAD_CLOSURE�r r/ZBUILD_TUPLE�frur�r�z'outer.<locals>.f'r"Z
MAKE_FUNCTION�r\zdefaults, closure�Z
STORE_FAST�}r��ZLOAD_GLOBAL�tr��Z
LOAD_DEREF���z''��1�Z
BUILD_LIST�g�Z	BUILD_MAP�i�r�z'Hello world!'�Z
CALL_FUNCTION�� ZPOP_TOP�"rb�|�$ZRETURN_VALUE�S�&)r+r�z(5, 6)r0r1r�z!'outer.<locals>.f.<locals>.inner'r�r�Noner#Z10ZGET_ITER�DZFOR_ITER�]�,zto 44r�r-Z
COMPARE_OP�k�<ZPOP_JUMP_IF_FALSE�rZ
JUMP_ABSOLUTE�q�6�>�4�(�*r�z'I can haz else clause?'�.�0�2��^�6�8�:�<�>�@�
�BZINPLACE_SUBTRACT�F�H�J�L�R�N�P��T�V�X�Z��\�r�z''Who let lolcatz into this test suite?'�`�bZ
SETUP_FINALLY�z��zto 200�vzto 118�h�j��0�lZBINARY_TRUE_DIVIDE��n�pZ	POP_BLOCK�WZJUMP_FORWARD�zto 144ZDUP_TOPr��xrh�y��~���r�z''Here we go, here we go, here we go...'�Z
POP_EXCEPT�Y��zto 188�ZRERAISE�Z
SETUP_WITH��zto 172�r���r�z'Never reach this'����������ZWITH_EXCEPT_START�1ZPOP_JUMP_IF_TRUE�s��������r�z"OK, now we're done"�������zto 210������������cCsdSr'r
r
r
r
r�simpleSr=rncsLeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	�Z
S)�InstructionTestscst�j|�d|_dSr')�superrr�)rr���	__class__r
rr\szInstructionTests.__init__cCst�t�}|�t|�t�dSr'�rH�get_instructionsrnrY�list�expected_opinfo_simple�r�actualr
r
r�test_default_first_line`s
z(InstructionTests.test_default_first_linecCs"tjtdd�}|�t|�t�dS�N�Z
first_linersrwr
r
r�test_first_line_set_to_Nonedsz,InstructionTests.test_first_line_set_to_NonecCs"tjttd�}|�t|�t�dSrz)rHrtr��expected_outer_linerYru�expected_opinfo_outerrwr
r
r�
test_outerhszInstructionTests.test_outercCsNt��t�}Wd�n1s"0Ytj|td�}|�t|�t�dSrz)rr�rHrt�expected_f_linerYru�expected_opinfo_f)rr�rxr
r
r�test_nestedls$zInstructionTests.test_nestedcCsPt��t��}Wd�n1s$0Ytj|td�}|�t|�t�dSrz)rr�rHrt�expected_inner_linerYru�expected_opinfo_inner)rr�rxr
r
r�test_doubly_nestedrs&z#InstructionTests.test_doubly_nestedcCs"tjttd�}|�t|�t�dSrz)rHrtr��expected_jumpy_linerYru�expected_opinfo_jumpyrwr
r
r�
test_jumpyxszInstructionTests.test_jumpy)rrrrryr|rr�r�r��
__classcell__r
r
rqrroZsroc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�
BytecodeTestsc	Csvttd�jdtjfD]J}|j|d��*t�|�}|�|jt	j
�Wd�q1sT0Yq|�ttjt
��dS�Nrza=1)�obj)r!rrr�rjrH�BytecodeZassertIsInstanceZcodeobj�types�CodeTyper�r�r�)rr�r/r
r
r�test_instantiation�s

0z BytecodeTests.test_instantiationc	Csrttd�jdtjfD]X}|j|d��8tt�|��}tt�|��}|�	||�Wd�q1sb0YqdSr�)
r!rrr�rjrurHr�rtrY)rr�Z
via_objectZ
via_generatorr
r
r�test_iteration�s
zBytecodeTests.test_iterationcCs"tjttd�}|�t|�t�dSrz)rHr�r�r}rYrur~rwr
r
r�test_explicit_first_line�sz&BytecodeTests.test_explicit_first_linecCslt�t���}|���d�d}ttjj�}|�||�tjtdd���}|���d�d}|�|d�dS)Nr,ri^r{Z350)	rHr�rn�strip�	partition�strr��co_firstlinenorY)rrxrZr
r
r�test_source_line_in_disassembly�sz-BytecodeTests.test_source_line_in_disassemblycCs4d|_tjD]"\}}t�|�}|�|��|�qdSr�)r�r�r�rHr�r��info)rrrZr/r
r
r�	test_info�s
zBytecodeTests.test_infocCst�t���}|�|t�dSr')rHr�r!rYrorwr
r
r�test_disassembled�szBytecodeTests.test_disassembledcCs4t�}tj�|�}|jr |j}q|�|j|j�dSr')rrHr��from_tracebackr
rYZcurrent_offsetr��rr	r/r
r
r�test_from_traceback�sz!BytecodeTests.test_from_tracebackcCs&t�}tj�|�}|�|��t�dSr')rrHr�r�rY�
dis_tracebackr�r
r
r�test_from_traceback_dis�sz%BytecodeTests.test_from_traceback_disN)rrrr�r�r�r�r�r�r�r�r
r
r
rr�~s	r�csBeZdZdd��fdd�Zdd�Zdd�Zd	d
�Zdd�Z�ZS)
�TestDisTracebackN)�returncs&zt`WntyYn0t���Sr')r�r�r�rp�setUpr`rqr
rr��s
zTestDisTraceback.setUpcCsDt��}t�|��t�|�Wd�n1s20Y|��Sr'�rDrErFrGrH�distbrJ�rr	rPr
r
rrQ�s(z TestDisTraceback.get_disassemblycCs6|�t��t��Wd�n1s(0YdSr')r�r�rHr�r`r
r
r�test_distb_empty�sz!TestDisTraceback.test_distb_emptycCs"t�}|t_|�|�d�t�dSr')rr�r�rYrQr��rr	r
r
r�test_distb_last_traceback�sz*TestDisTraceback.test_distb_last_tracebackcCst�}|�|�|�t�dSr')rrYrQr�r�r
r
r�test_distb_explicit_arg�sz(TestDisTraceback.test_distb_explicit_arg)	rrrr�rQr�r�r�r�r
r
rqrr��s
r�c@seZdZdd�ZdS)�TestDisTracebackWithFilecCsHt��}t�|��tj||d�Wd�n1s60Y|��S)Nr�r�r�r
r
rrQ�s,z(TestDisTracebackWithFile.get_disassemblyNr�r
r
r
rr��sr��__main__)T)rr)eZtest.supportrZtest.support.bytecode_helperrZunittestr�rHrDrSr�rFrr�r�ZTRACEBACK_CODErrr�r�r�r�rr�rr�rr�r!ror�r%rqr(�__file__rsr~rr�r�r�r�r�r�r�r�r�r�r2r�r4r5r�r�r6r7r9rAr�r�r�ZTestCaserBr��flags�optimizer�rr�r��__func__�	co_constsr�r�r�r�r�r�r�r�r�r�r}Z_line_offsetZ
code_object_fr�Zcode_object_innerr�r�ZInstruction�reprr~r�r�r�rnrvror�r�r��mainr
r
r
r�<module>s�
�

�
�
��

��




��




��	
#��)�




��




��



��


��

��M

��!#	


��� �o�$8	

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