diff options
Diffstat (limited to 'Tools/compiler/dumppyc.py')
-rwxr-xr-x | Tools/compiler/dumppyc.py | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/Tools/compiler/dumppyc.py b/Tools/compiler/dumppyc.py deleted file mode 100755 index 1258cce..0000000 --- a/Tools/compiler/dumppyc.py +++ /dev/null @@ -1,47 +0,0 @@ -#! /usr/bin/env python - -import marshal -import os -import dis -import types - -def dump(obj): - print obj - for attr in dir(obj): - if attr.startswith('co_'): - val = getattr(obj, attr) - print "\t", attr, repr(val) - -def loadCode(path): - f = open(path) - f.read(8) - co = marshal.load(f) - f.close() - return co - -def walk(co, match=None): - if match is None or co.co_name == match: - dump(co) - print - dis.dis(co) - for obj in co.co_consts: - if type(obj) == types.CodeType: - walk(obj, match) - -def load(filename, codename=None): - co = loadCode(filename) - walk(co, codename) - -if __name__ == "__main__": - import sys - if len(sys.argv) == 3: - filename, codename = sys.argv[1:] - else: - filename = sys.argv[1] - codename = None - if filename.endswith('.py'): - buf = open(filename).read() - co = compile(buf, filename, "exec") - walk(co) - else: - load(filename, codename) |