From: Guido van Rossum Date: Fri, 19 Jan 2001 02:41:41 +0000 (+0000) Subject: Checking in a slight variation of Barry's patch 103303. X-Git-Tag: v2.1a1~136 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fc53c13dd5de26fa862c812a18b6f36bbee60ea0;p=thirdparty%2FPython%2Fcpython.git Checking in a slight variation of Barry's patch 103303. --- diff --git a/Lib/dis.py b/Lib/dis.py index 8c15919a0e4f..6ecefd34a4e9 100644 --- a/Lib/dis.py +++ b/Lib/dis.py @@ -15,6 +15,10 @@ def dis(x=None): 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() @@ -28,17 +32,12 @@ def dis(x=None): except TypeError, msg: print "Sorry:", msg print + elif hasattr(x, 'co_code'): + disassemble(x) else: - if hasattr(x, 'im_func'): - x = x.im_func - if hasattr(x, 'func_code'): - x = x.func_code - if hasattr(x, 'co_code'): - disassemble(x) - else: - raise TypeError, \ - "don't know how to disassemble %s objects" % \ - type(x).__name__ + raise TypeError, \ + "don't know how to disassemble %s objects" % \ + type(x).__name__ def distb(tb=None): """Disassemble a traceback (default: last traceback)."""