Support disassembly of a variety of objects through dis.dis().
diff --git a/Lib/dis.py b/Lib/dis.py
index 3957f9c..dc15309 100644
--- a/Lib/dis.py
+++ b/Lib/dis.py
@@ -2,10 +2,27 @@
 
 import sys
 import string
+import types
 
 def dis(x=None):
 	if not x:
 		distb()
+		return
+	if type(x) is types.InstanceType:
+		x = x.__class__
+	if hasattr(x, '__dict__'):
+		items = x.__dict__.items()
+		items.sort()
+		for name, x1 in items:
+			if type(x1) in (types.MethodType,
+					types.FunctionType,
+					types.CodeType):
+				print "Disassembly of %s:" % name
+				try:
+					dis(x1)
+				except TypeError, msg:
+					print "Sorry:", msg
+				print
 	else:
 		if hasattr(x, 'im_func'):
 			x = x.im_func