fix dis on new style classes #8310
diff --git a/Lib/dis.py b/Lib/dis.py
index edc210f..5aa09c9 100644
--- a/Lib/dis.py
+++ b/Lib/dis.py
@@ -10,6 +10,9 @@
"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 @@
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)