관리-도구
편집 파일: dis.cpython-36.opt-1.pyc
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"