Your IP : 18.219.127.59
3
\�F � @ s� d Z ddlZddlZddlZddlZddlT ddlmZ ddddd d
ddd
ddge Z[ejej ej
eee
fZed Zdd� ZdKdd�dd�ZdLdd�dd�Zddddddddddd �
Zd!d"� Zd#d$� Zd%d� Zd&d'� Zdd�d(d�Zejd)d*�Zd+ej_ d,ej_ d-ej_ d.ej_ d/ej_ d0ej _ d1ej!_ d2ej"_ G d3d� de�Z#dd4�d5d
�Z$d6d7� Z%d8d9� Z&dMd:d;�Z'dOdd�d=d�Z(dQddd>�d?d@�Z)dd�dAdB�Z*e(Z+dCdD� Z,dEd� Z-dFd
� Z.G dGd� d�Z/dHdI� Z0e1dJk�r�e0� dS )Rz0Disassembler of Python byte code into mnemonics.� N)�*)�__all__� code_info�dis�disassemble�distb�disco�findlinestarts�
findlabels� show_code�get_instructions�Instruction�Bytecode�FORMAT_VALUEc C s6 yt | |d�}W n tk
r0 t | |d�}Y nX |S )z�Attempts to compile the given source, first as an expression and
then as a statement if the first approach fails.
Utility function to accept strings in functions that otherwise
expect code objects
�eval�exec)�compile�SyntaxError)�source�name�c� r �/usr/lib64/python3.6/dis.py�_try_compile s
r )�filec C s> | dkrt |d� dS t| d�r&| j} t| d�r6| j} t| d�rF| j} t| d�r�t| jj� �}x�|D ]n\}}t|t �rdt
d| |d� yt||d� W n0 tk
r� } zt
d||d� W Y dd}~X nX t
|d� qdW nbt| d �r�t
| |d� nJt| ttf��rt| |d� n,t| t��r(t| |d� ntd
t| �j ��dS )zzDisassemble classes, methods, functions, generators, or code.
With no argument, disassemble the last traceback.
N)r �__func__�__code__�gi_code�__dict__zDisassembly of %s:zSorry:�co_codez(don't know how to disassemble %s objects)r �hasattrr r r �sortedr �items�
isinstance�
_have_code�printr � TypeErrorr �bytes� bytearray�_disassemble_bytes�str�_disassemble_str�type�__name__)�xr r"