]> granicus.if.org Git - clang/commitdiff
cindex/Python: Fix cindex-{dump,includes} examples to just pass all args
authorDaniel Dunbar <daniel@zuster.org>
Sat, 13 Feb 2010 18:33:28 +0000 (18:33 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Sat, 13 Feb 2010 18:33:28 +0000 (18:33 +0000)
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96107 91177308-0d34-0410-b5e6-96231b3b80d8

bindings/python/examples/cindex/cindex-dump.py
bindings/python/examples/cindex/cindex-includes.py

index ace4ae82761e474c2b3463a5f10903ebb1c41756..af7ddab6ea535f5147697f6ff674a0a53d7a9ac2 100644 (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")
 
index 2220552d0896ccf4bfcf558d5d651e020ddaab5c..17500227a349b14bfdae7e4fbeb2d387245826c0 100644 (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")