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
This commit is contained in:
Daniel Dunbar 2010-02-13 18:33:28 +00:00
parent 43813bf023
commit ae4b77d99d
2 changed files with 5 additions and 11 deletions

View File

@ -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")

View File

@ -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")