관리-도구
편집 파일: dis.cpython-37.pyc
B � f�M � @ s� d Z ddlZddlZddlZddlZddlT ddlmZ ddddd d ddd ddge Z[ejej ej eee fZed Zdd� ZdPddd�dd�ZdQdd�dd�Zdddddddddd d!� Zd"d#� Zd$d%� Zd&d� Zd'd(� Zdd�d)d�Ze�d*d+�Zd,ej_ d-ej_ d.ej_ d/ej_ d0ej_ d1ej _ d2ej!_ d3ej"_ d4Z#d5Z$G d6d� de�Z%dd7�d8d �Z&d9d:� Z'd;d<� Z(dRd=d>�Z)dSdd�d@d�Z*ddd�dAdB�Z+dTdddC�dDdE�Z,dFdG� Z-e*Z.dHdI� Z/dJd� Z0dKd � Z1G dLd� d�Z2dMdN� Z3e4dOk�r�e3� dS )Uz0Disassembler 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 �(/opt/alt/python37/lib64/python3.7/dis.py�_try_compile s r )�file�depthc C sn | dkrt |d� dS t| d�r&| j} t| d�r8| j} n4t| d�rJ| j} n"t| d�r\| j} nt| d�rl| j} t| d��rt| j� � �}x�|D ]p\}}t |t�r�td | |d� yt |||d � W n0 tk r� } ztd||d� W dd}~X Y nX t|d� q�W nht| d��rt| ||d � nLt | ttf��r<t| |d� n.t | t��rXt| ||d � ntd t| �j ��dS )a0 Disassemble classes, methods, functions, and other compiled objects. With no argument, disassemble the last traceback. Compiled objects currently include generator objects, async generator objects, and coroutine objects, all of which store their code object in a special attribute. N)r �__func__�__code__�gi_code�ag_code�cr_code�__dict__zDisassembly of %s:)r r zSorry:�co_codez(don't know how to disassemble %s objects)r �hasattrr r r r r �sortedr! �items� isinstance� _have_code�printr � TypeError�_disassemble_recursive�bytes� bytearray�_disassemble_bytes�str�_disassemble_str�type�__name__)�xr r r% r Zx1�msgr r r r "