def dis(x=None):
 if (x is None):
  distb()
  return
 if (type(x) is types.InstanceType):
  x = x.__class__
 if hasattr(x, 'im_func'):
  x = x.im_func
 if hasattr(x, 'func_code'):
  x = x.func_code
 if hasattr(x, '__dict__'):
  items = x.__dict__.items()
  items.sort()
  for (name, x1) in items:
   if (type(x1) in (types.MethodType, types.FunctionType, types.CodeType, types.ClassType)):
    print ('Disassembly of %s:' % name)
    try:
     dis(x1)
    except TypeError as msg:
     print 'Sorry:', msg
    print
 elif hasattr(x, 'co_code'):
  disassemble(x)
 elif isinstance(x, str):
  disassemble_string(x)
 else:
  raise TypeError, ("don't know how to disassemble %s objects" % type(x).__name__)

def dis ( x = None ) : if ( x is None ) : distb ( ) return if ( type ( x ) is types . InstanceType ) : x = x . __class__ if hasattr ( x , 'im_func' ) : x = x . im_func if hasattr ( x , 'func_code' ) : x = x . func_code if hasattr ( x , '__dict__' ) : items = x . __dict__ . items ( ) items . sort ( ) for ( name , x1 ) in items : if ( type ( x1 ) in ( types . MethodType , types . FunctionType , types . CodeType , types . ClassType ) ) : print ( 'Disassembly of %s:' % name ) try : dis ( x1 ) except TypeError as msg : print 'Sorry:' , msg print elif hasattr ( x , 'co_code' ) : disassemble ( x ) elif isinstance ( x , str ) : disassemble_string ( x ) else : raise TypeError , ( "don't know how to disassemble %s objects" % type ( x ) . __name__ )
disassemble classes .