Merged revisions 79769 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r79769 | benjamin.peterson | 2010-04-04 18:23:22 -0500 (Sun, 04 Apr 2010) | 1 line
fix dis on new style classes #8310
........
diff --git a/Lib/dis.py b/Lib/dis.py
index 5a74b3a..35ae595 100644
--- a/Lib/dis.py
+++ b/Lib/dis.py
@@ -9,6 +9,9 @@
__all__ = ["dis","disassemble","distb","disco"] + _opcodes_all
del _opcodes_all
+_have_code = (types.MethodType, types.FunctionType, types.CodeType,
+ types.ClassType, type)
+
def dis(x=None):
"""Disassemble classes, methods, functions, or code.
@@ -28,10 +31,7 @@
items = x.__dict__.items()
items.sort()
for name, x1 in items:
- if type(x1) in (types.MethodType,
- types.FunctionType,
- types.CodeType,
- types.ClassType):
+ if isinstance(x1, _have_code):
print "Disassembly of %s:" % name
try:
dis(x1)
diff --git a/Misc/NEWS b/Misc/NEWS
index be40f9f..92bef1c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -27,6 +27,8 @@
- Issue #8179: Fix macpath.realpath() on a non-existing path.
+- Issue #8310: Allow dis to examine new style classes.
+
- Issue #7667: Fix doctest failures with non-ASCII paths.
- Issue #7624: Fix isinstance(foo(), collections.Callable) for old-style