From: Guido van Rossum Date: Fri, 14 Mar 1997 04:15:43 +0000 (+0000) Subject: Support disassembly of a variety of objects through dis.dis(). X-Git-Tag: v1.5a1~287 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=18aef3c10214fba136da7ccee30932b8aab4cb97;p=python Support disassembly of a variety of objects through dis.dis(). --- diff --git a/Lib/dis.py b/Lib/dis.py index 3957f9cf8b..dc1530919c 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