Commit Graph

32 Commits

Author SHA1 Message Date
Daniel Dunbar 02968e53cf CIndex: Switch CXSourceRange to proper half-open intervals.
- Doug, please review.

llvm-svn: 96162
2010-02-14 10:02:57 +00:00
Daniel Dunbar ae4b77d99d 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
2010-02-13 18:33:28 +00:00
Daniel Dunbar 43813bf023 cindex/Python: Add TranslationUnit.get_includes, patch by Andrew Sutton!
llvm-svn: 96106
2010-02-13 18:33:18 +00:00
Daniel Dunbar 2037d4e4ea cindex/Python: Update for clang_getDiagnosticRange... API changes.
llvm-svn: 96105
2010-02-13 18:33:03 +00:00
Daniel Dunbar 288edb5bda cindex/Python: Turn off showing IDs by default, they are really slow to compute
pending a hash function. Also added a --max-depth argument, handy for timing and
limiting the volume of output.

llvm-svn: 94936
2010-01-31 00:41:15 +00:00
Daniel Dunbar 45dc842a0e cindex/Python: Add a simple example which dumps assorted information about a translation unit.
llvm-svn: 94934
2010-01-30 23:59:14 +00:00
Daniel Dunbar a7a354e3e3 cindex/Python: Add full support for Diagnostic and FixIt objects, available via TranslationUnit.diagnostics.
Several important FIXMEs remain:
  - We aren't getting all the notes?
  - There is still no way to get diagnostics for invalid inputs.

llvm-svn: 94933
2010-01-30 23:59:02 +00:00
Daniel Dunbar 15635b8f5c cindex/Python: Update SourceLocation and SourceRange structures to match API changes.
Hurray for exposing implementation details!!!

llvm-svn: 94932
2010-01-30 23:58:50 +00:00
Daniel Dunbar 1e079a48ad cindex/Python: Update Index.create for removal of displayDiagnostics.
llvm-svn: 94931
2010-01-30 23:58:39 +00:00
Daniel Dunbar ce9a4faea5 cindex/Python: Update to support _getInstantiationLocation's new offset value.
llvm-svn: 94813
2010-01-29 17:02:32 +00:00
Daniel Dunbar f91a8d64d4 cindex/Python: Move translation unit load functions to Index, there isn't a good reason to have separate static methods for this.
llvm-svn: 94419
2010-01-25 09:16:55 +00:00
Daniel Dunbar dacede8349 cindex/Python: Support file objects as unsaved_files, albeit inefficiently.
llvm-svn: 94418
2010-01-25 09:16:41 +00:00
Daniel Dunbar 90986f5d3f cindex/Python: Add Cursor test.
llvm-svn: 94397
2010-01-25 00:44:21 +00:00
Daniel Dunbar 9ad194dc18 cindex/Python: Implement support for unsaved/remapped files.
llvm-svn: 94396
2010-01-25 00:44:11 +00:00
Daniel Dunbar 7baaee93e7 cindex/Python: Fix/simplify Index.parse() passing command line arguments.
llvm-svn: 94394
2010-01-25 00:43:31 +00:00
Daniel Dunbar 36104a8665 cindex/Python: Update comments, add module docstrings, add LLVM headers.
llvm-svn: 94392
2010-01-25 00:43:08 +00:00
Daniel Dunbar 3e555fd85f cindex/Python: Move Cursor.is_ methods to CursorKind, and add test.
Also, add CursorKind.get_all_kinds().

llvm-svn: 94389
2010-01-24 21:20:39 +00:00
Daniel Dunbar 195cdeceaf cindex/Python: Implement explicit objects for CursorKind enumeration values.
llvm-svn: 94388
2010-01-24 21:20:29 +00:00
Daniel Dunbar 55d6964e28 cindex/Python: Fetch SourceLocation instantiation location information on lazily, it isn't free.
Also, add repr() support to SourceRange.

llvm-svn: 94387
2010-01-24 21:20:21 +00:00
Daniel Dunbar aca5acfd01 cindex/Python: Add Cursor.get_usr().
Also, change Cursor.spelling to return None for non-decls, for consistency with get_usr().

llvm-svn: 94386
2010-01-24 21:20:13 +00:00
Daniel Dunbar 501e91f3b7 cindex/Python: Return null cursors as None instead of exposing this notion.
llvm-svn: 94385
2010-01-24 21:20:05 +00:00
Daniel Dunbar 942453284f cindex/Python: Convert CXString objects to regular Python strings below API.
llvm-svn: 94384
2010-01-24 21:19:57 +00:00
Daniel Dunbar 322be3a46e Simplify.
llvm-svn: 94383
2010-01-24 21:19:48 +00:00
Daniel Dunbar 18b75a4f10 cindex/Python: Remove Cursor.file forwarding method, this doesn't really fit the API.
llvm-svn: 94382
2010-01-24 21:19:40 +00:00
Daniel Dunbar fd7caa25a6 cindex/Python: Add Cursor.get_children()
llvm-svn: 94359
2010-01-24 04:10:22 +00:00
Daniel Dunbar 7bcfd6eb6d cindex/Python: Remove Declaration class, this has been removed from the API.
llvm-svn: 94358
2010-01-24 04:10:06 +00:00
Daniel Dunbar 8f8f35bd6c cindex/Python: Eliminate Entity class, it has been removed from CIndex.
llvm-svn: 94357
2010-01-24 04:09:58 +00:00
Daniel Dunbar b34dde72e3 Simplify.
llvm-svn: 94356
2010-01-24 04:09:51 +00:00
Daniel Dunbar e79aba4c72 cindex/Python: Add TranslationUnit.cursor.
llvm-svn: 94355
2010-01-24 04:09:43 +00:00
Daniel Dunbar 3615fd27f2 cindex/Python: Tweak Source{Location,Range}
- Add __repr__ on SourceLocation.

 - Fix File object construction to use c_object_p type, and use None instead of
   invalid File objects.

 - Make SourceRange.{start,end} properties.

llvm-svn: 94354
2010-01-24 04:09:34 +00:00
Daniel Dunbar 3cdcfe03bf cindex/Python: Make Cursor.is_... functions not properties.
Also, add ValueError check before calling Cursor_spelling.

llvm-svn: 94353
2010-01-24 04:09:23 +00:00
Daniel Dunbar 74716e5ebd Initial checkin of CIndex Python bindings, by Andrew Sutton!
- Some tweaks by me for API changes, Darwin, and x86_64 support. Still needs
   substantial updating to match recent CIndex API changes.

llvm-svn: 94349
2010-01-24 02:02:07 +00:00