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)
diff --git a/Misc/NEWS b/Misc/NEWS
index 4cb76ad..0ee0c07 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -49,6 +49,8 @@
 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: