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
........
This commit is contained in:
Benjamin Peterson 2010-04-04 23:27:35 +00:00
parent 3482370d8b
commit 51e7ad3b04
2 changed files with 6 additions and 4 deletions

View File

@ -9,6 +9,9 @@ from opcode import __all__ as _opcodes_all
__all__ = ["dis","disassemble","distb","disco"] + _opcodes_all __all__ = ["dis","disassemble","distb","disco"] + _opcodes_all
del _opcodes_all del _opcodes_all
_have_code = (types.MethodType, types.FunctionType, types.CodeType,
types.ClassType, type)
def dis(x=None): def dis(x=None):
"""Disassemble classes, methods, functions, or code. """Disassemble classes, methods, functions, or code.
@ -28,10 +31,7 @@ def dis(x=None):
items = x.__dict__.items() items = x.__dict__.items()
items.sort() items.sort()
for name, x1 in items: for name, x1 in items:
if type(x1) in (types.MethodType, if isinstance(x1, _have_code):
types.FunctionType,
types.CodeType,
types.ClassType):
print "Disassembly of %s:" % name print "Disassembly of %s:" % name
try: try:
dis(x1) dis(x1)

View File

@ -27,6 +27,8 @@ Library
- Issue #8179: Fix macpath.realpath() on a non-existing path. - 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 #7667: Fix doctest failures with non-ASCII paths.
- Issue #7624: Fix isinstance(foo(), collections.Callable) for old-style - Issue #7624: Fix isinstance(foo(), collections.Callable) for old-style