diff --git a/Lib/dis.py b/Lib/dis.py index edc210fbcf1..5aa09c95b6d 100644 --- a/Lib/dis.py +++ b/Lib/dis.py @@ -10,6 +10,9 @@ __all__ = ["dis", "disassemble", "distb", "disco", "findlinestarts", "findlabels"] + _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. @@ -29,10 +32,7 @@ def dis(x=None): items = x.__dict__.items() items.sort() for name, x1 in items: - if isinstance(x1, (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 4cb76adc01b..0ee0c07e4af 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -49,6 +49,8 @@ Core and Builtins Library ------- +- Issue #8310: Allow dis to examine new style classes. + - Issue #8257: The Decimal construct now accepts a float instance directly, converting that float to a Decimal of equal value: