summaryrefslogtreecommitdiff
path: root/Lib/dis.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2001-01-19 02:41:41 +0000
committerGuido van Rossum <guido@python.org>2001-01-19 02:41:41 +0000
commit9d8717655b34b51a3140ec5ddd0087755d7573ce (patch)
tree6c3c32b45b19752ebb39ad1a28bf0395c5998e0f /Lib/dis.py
parent1b82b16a8281e830938ce230163fe08f0c8ec591 (diff)
downloadcpython-9d8717655b34b51a3140ec5ddd0087755d7573ce.tar.gz
Checking in a slight variation of Barry's patch 103303.
Diffstat (limited to 'Lib/dis.py')
-rw-r--r--Lib/dis.py19
1 files changed, 9 insertions, 10 deletions
diff --git a/Lib/dis.py b/Lib/dis.py
index 8c15919a0e..6ecefd34a4 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)."""