From ae4b77d99dca0fc7a727333ac98c600ba517ab89 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar <daniel@zuster.org> Date: Sat, 13 Feb 2010 18:33:28 +0000 Subject: [PATCH] cindex/Python: Fix cindex-{dump,includes} examples to just pass all args directly to Index, instead of requiring the input file to be first. This makes the examples behave more like 'clang'. For example, ddunbar@giles:tmp$ echo '#include <string>' | python ~/llvm/tools/clang/bindings/python/examples/cindex/cindex-includes.py -- -x c++ - | wc -l 114 ddunbar@giles:tmp$ echo '#include <stdio.h>' | python ~/llvm/tools/clang/bindings/python/examples/cindex/cindex-includes.py -- -x c - | wc -l 10 llvm-svn: 96107 --- clang/bindings/python/examples/cindex/cindex-dump.py | 4 +--- .../python/examples/cindex/cindex-includes.py | 12 ++++-------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/clang/bindings/python/examples/cindex/cindex-dump.py b/clang/bindings/python/examples/cindex/cindex-dump.py index ace4ae82761e..af7ddab6ea53 100644 --- a/clang/bindings/python/examples/cindex/cindex-dump.py +++ b/clang/bindings/python/examples/cindex/cindex-dump.py @@ -74,10 +74,8 @@ def main(): if len(args) == 0: parser.error('invalid number arguments') - input_path = args.pop(0) - index = Index.create() - tu = index.parse(input_path, args) + tu = index.parse(None, args) if not tu: parser.error("unable to load input") diff --git a/clang/bindings/python/examples/cindex/cindex-includes.py b/clang/bindings/python/examples/cindex/cindex-includes.py index 2220552d0896..17500227a349 100644 --- a/clang/bindings/python/examples/cindex/cindex-includes.py +++ b/clang/bindings/python/examples/cindex/cindex-includes.py @@ -18,8 +18,6 @@ def main(): import sys from clang.cindex import Index - # FIXME: Allow the user to pass command line options to clang so that - # we can use -D and -U. from optparse import OptionParser, OptionGroup parser = OptionParser("usage: %prog [options] {filename} [clang-args*]") @@ -31,17 +29,15 @@ def main(): # FIXME: Add an output file option out = sys.stdout - input_path = args.pop(0) - - index = Index.create() - tu = index.parse(input_path, args) + tu = index.parse(None, args) if not tu: parser.error("unable to load input") # A helper function for generating the node name. def name(f): - return "\"" + f.name + "\"" + if f: + return "\"" + f.name + "\"" # Generate the include graph out.write("digraph G {\n") @@ -52,7 +48,7 @@ def main(): # actually include anything. This would generate a 1 node graph. line += name(i.include) else: - line += name(i.source) + "->" + name(i.include) + line += '%s->%s' % (name(i.source), name(i.include)) line += "\n"; out.write(line) out.write("}\n")