File: //proc/3/root/lib64/python2.7/dis.pyo
�
zfc           @   s�   d  Z  d d l Z d d l Z d d l Td d l m Z d d d d d	 d
 g e Z [ e j e j e j e j	 e
 f Z d d � Z
 d d � Z d d
 � Z d d d d d � Z e Z d �  Z d �  Z d �  Z e d k r� e �  n  d S(   s0   Disassembler of Python byte code into mnemonics.i����N(   t   *(   t   __all__t   dist   disassemblet   distbt   discot   findlinestartst
   findlabelsc         C   sH  |  d k r t �  d St |  t j � r5 |  j }  n  t |  d � rP |  j }  n  t |  d � rk |  j }  n  t |  d � r� |  j	 j
 �  } | j �  x� | D]U \ } } t | t � r� d | GHy t
 | � Wn t k
 r� } d G| GHn XHq� q� WnN t |  d � rt |  � n2 t |  t � r.t |  � n t d t |  � j � d S(	   sn   Disassemble classes, methods, functions, or code.
    With no argument, disassemble the last traceback.
    Nt   im_funct	   func_codet   __dict__s   Disassembly of %s:s   Sorry:t   co_codes(   don't know how to disassemble %s objects(   t   NoneR   t
   isinstancet   typest   InstanceTypet	   __class__t   hasattrR   R	   R
   t   itemst   sortt
   _have_codeR   t	   TypeErrorR   t   strt   disassemble_stringt   typet   __name__(   t   xR   t   namet   x1t   msg(    (    s   /usr/lib64/python2.7/dis.pyR      s6    
	
c         C   sl   |  d k rR y
 t j }  Wn t k
 r5 t d � n Xx |  j rN |  j }  q9 Wn  t |  j j |  j	 � d S(   s2   Disassemble a traceback (default: last traceback).s    no last traceback to disassembleN(
   R   t   syst   last_tracebackt   AttributeErrort   RuntimeErrort   tb_nextR   t   tb_framet   f_codet   tb_lasti(   t   tb(    (    s   /usr/lib64/python2.7/dis.pyR   3   s    
 c         C   sa  |  j  } t | � } t t |  � � } t | � } d } d } d } x| | k  r\| | }	 t |	 � }
 | | k r� | d k r� Hn  d | | Gn d G| | k r� d Gn d G| | k r� d Gn d Gt | � j d � Gt	 |
 j
 d � G| d	 } |
 t k rXt | | � t | | d	 � d
 | } d } | d } |
 t k rT| d } n  t | � j d
 � G|
 t
 k r�d t |  j | � d GqX|
 t k r�d |  j | d GqX|
 t k r�d t | | � d GqX|
 t k r�d |  j | d GqX|
 t k rd t | d GqX|
 t k rX| d k rB|  j |  j } n  d | | d GqXn  HqH Wd S(   s   Disassemble a code object.i    s   %3ds      s   -->s   >>s     i   i   i   i   i   l      i   t   (t   )s   (to N(   R   R   t   dictR   t   lenR   t   ordt   reprt   rjustt   opnamet   ljustt
   HAVE_ARGUMENTt   EXTENDED_ARGt   hasconstt	   co_constst   hasnamet   co_namest   hasjrelt   haslocalt   co_varnamest
   hascomparet   cmp_opt   hasfreet   co_cellvarst   co_freevars(   t   cot   lastit   codet   labelst
   linestartst   nt   it   extended_argt   freet   ct   opt   oparg(    (    s   /usr/lib64/python2.7/dis.pyR   =   s\    	
  
*
c         C   s�  t  |  � } t |  � } d } x�| | k  r�|  | } t | � }	 | | k rV d Gn d G| | k rm d Gn d Gt | � j d � Gt |	 j d � G| d } |	 t k r�t |  | � t |  | d � d	 }
 | d
 } t |
 � j d � G|	 t k r$| rd t | |
 � d
 Gq�d |
 Gq�|	 t	 k rZ| d  k	 rOd | |
 d
 Gq�d |
 Gq�|	 t k rd t | |
 � d
 Gq�|	 t k r�| r�d | |
 d
 Gq�d |
 Gq�|	 t
 k r�d t |
 d
 Gq�n  Hq! Wd  S(   Ni    s   -->s      s   >>s     i   i   i   i   i   i   R'