Tobias Grosser
ba5d10b82b
cindex.py: Remove more ternary operator + whitespace fixes
...
Another batch of ternary operators and some whitespace fixes
(Getting in sync with the clang_complete version of this file)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143330 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-31 02:06:50 +00:00
Tobias Grosser
8198288f4e
clang.py: Remove use of ternary operators
...
This change is necessary to make this file python 2.4 compatible.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143324 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-31 00:49:07 +00:00
Tobias Grosser
58ba8c9f18
cindex.py: Allow to create a cursor from file/row/column
...
We add a constructor to create a SourceLocation from a position in
a file and we use this SourceLocation to retrieve a cursor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143322 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-31 00:31:32 +00:00
Tobias Grosser
a9ea5df14a
cindex.py: Add File.create_from_name()
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143321 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-31 00:07:19 +00:00
Douglas Gregor
13102ffbb0
Add support for constant arrays, from Anders Waldenborg!.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142477 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-19 05:51:43 +00:00
Douglas Gregor
38d2d5539e
Add TypeKind.CONSTANTARRAY, from Anders Waldenborg!
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142476 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-19 05:50:34 +00:00
Douglas Gregor
9d342ab031
Fix error message for unknown type kind, from Anders Waldenborg!
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142475 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-19 05:49:29 +00:00
Douglas Gregor
2abfec3240
This new field was introduced in clang-c in r141277
...
Python needs this in its structure definition so it allocates enough
memory. From Anders Waldenborg!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142474 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-19 05:47:46 +00:00
Douglas Gregor
42b2984771
Expose more statement, expression, and declaration kinds in libclang,
...
from Manuel Holtgrewe!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141200 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05 19:00:14 +00:00
Douglas Gregor
888982e42b
Update python testcase for GNU old-style field designator warning,
...
from Anders Waldenborg!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138786 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30 00:16:30 +00:00
Douglas Gregor
b60a2bebb5
Add support for Cursor.displayname in python bindings, from Anders Waldenborg!
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138785 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-30 00:15:34 +00:00
Argyrios Kyrtzidis
6b04623bcc
[python] Fix bug of the SourceLocation binding.
...
Patch by Anders Waldenborg!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137829 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-17 17:20:24 +00:00
Argyrios Kyrtzidis
2312f5f4df
[python] Add test_type.py by Anders Waldenborg, which I forgot to commit in r137797.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137828 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-17 17:01:10 +00:00
Argyrios Kyrtzidis
d7933e6f29
[python] Add support for CXType to python bindings.
...
Patch by Anders Waldenborg!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137797 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-17 00:43:03 +00:00
Douglas Gregor
8be80e1e6e
Improve the Python bindings for libclang in a few ways, from Eli
...
Bendersky. Specifically:
* Implemented a new function in libclang: clang_isAttribute
* Fixing TranslationUnit.get_includes to only go through the argument
* buffer when it contains something. This fixed a crash on Windows
* clang_getFileName returns CXString, not char*. Made appropriate
* fixes in cindex.py - now the relevant tests pass and we can see the
* full locations correctly again (previously there was garbage in
* place of the file name)
* Exposed clang_getCursorDisplayName to the python bindings
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134460 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06 03:00:34 +00:00
Tobias Grosser
a87dbcc049
python bindings: Add support for different kind of completion chunks
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124959 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-05 17:54:10 +00:00
Tobias Grosser
6d2a40c191
python bindings: Get the string representation of a CompletionChunk
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124958 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-05 17:54:07 +00:00
Tobias Grosser
0a16680067
python bindings: Add CodeCompletionResults
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124957 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-05 17:54:04 +00:00
Tobias Grosser
265e6b2d17
python bindings: Add support for translationUnit.reparse().
...
This is the first step to make the clang_complete vim plugin work with
libclang. Reparsing improves parsing time from 0.8 to 0.25 secs for
one of my LLVM .cpp files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124956 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-05 17:54:00 +00:00
Tobias Grosser
88f9c6ca6e
python bindings: Include local headers the right way.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124955 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-05 17:53:55 +00:00
Tobias Grosser
f784ff0c8a
python bindings: Remove unneeded instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124954 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-05 17:53:53 +00:00
Tobias Grosser
f498e00a30
python bindings: fix Diagnostics.range iterator
...
The iterator did never throw an IndexError. It was therefore not possible
to use it in a normal foreach loop as that loop would never stop.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124953 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-05 17:53:51 +00:00
Tobias Grosser
ff090ca42a
python bindings: Use python Diagnostics as function arguments
...
This improves the readability of the code and fixes one testsuite bug.
The bug happend, because we only stored the pointer to the diagnostic in the
FixIt iterator, but not the python Diagnostic object. So it could happen that
the FixIt iterator still exists, but the python Diagnostic object is freed.
However, as the python Diagnostic is freed the pointer to the diagnostic is also
freed and the FixIt iterator is referencing a freed pointer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124952 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-05 17:53:48 +00:00
Tobias Grosser
4ed73ce03b
python bindings: Synchronize cursor kinds
...
clang-c/Index.h contained cursor kinds not yet available in the python bindings.
Contributed-By: jmuizelaar@mozilla.com
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124951 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-05 17:53:47 +00:00
Daniel Dunbar
f51f20fa34
Rename 'CIndex' to 'libclang', since it has basically become our stable public
...
(C) API, and will likely grow further in this direction in the future.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102779 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-30 21:51:10 +00:00
Benjamin Kramer
1d02ccd1aa
Rename the new Iterator objects and raise an assertion instead of returning invalid objects when the key is out of range.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97881 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 15:38:03 +00:00
Benjamin Kramer
3b0cf09f9c
Update the python bindings for recent changes in the CIndex API.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97880 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-06 14:53:07 +00:00
Daniel Dunbar
d52864bd33
CIndex: Switch CXSourceRange to proper half-open intervals.
...
- Doug, please review.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96162 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14 10:02:57 +00:00
Daniel Dunbar
8bb44d5c86
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
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96107 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-13 18:33:28 +00:00
Daniel Dunbar
ef7f798c09
cindex/Python: Add TranslationUnit.get_includes, patch by Andrew Sutton!
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96106 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-13 18:33:18 +00:00
Daniel Dunbar
b51abe9b5f
cindex/Python: Update for clang_getDiagnosticRange... API changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96105 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-13 18:33:03 +00:00
Daniel Dunbar
8958dc9bf3
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94936 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-31 00:41:15 +00:00
Daniel Dunbar
6d32cb85ee
cindex/Python: Add a simple example which dumps assorted information about a translation unit.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94934 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30 23:59:14 +00:00
Daniel Dunbar
532fc63b51
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94933 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30 23:59:02 +00:00
Daniel Dunbar
e32af4213e
cindex/Python: Update SourceLocation and SourceRange structures to match API changes.
...
Hurray for exposing implementation details!!!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94932 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30 23:58:50 +00:00
Daniel Dunbar
2791dfc0fc
cindex/Python: Update Index.create for removal of displayDiagnostics.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94931 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30 23:58:39 +00:00
Daniel Dunbar
3239a67361
cindex/Python: Update to support _getInstantiationLocation's new offset value.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94813 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-29 17:02:32 +00:00
Daniel Dunbar
061bae930b
cindex/Python: Move translation unit load functions to Index, there isn't a good reason to have separate static methods for this.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94419 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25 09:16:55 +00:00
Daniel Dunbar
db59a7700e
cindex/Python: Support file objects as unsaved_files, albeit inefficiently.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94418 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25 09:16:41 +00:00
Daniel Dunbar
90859ae3b6
cindex/Python: Add Cursor test.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94397 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25 00:44:21 +00:00
Daniel Dunbar
5b534f6794
cindex/Python: Implement support for unsaved/remapped files.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94396 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25 00:44:11 +00:00
Daniel Dunbar
1f8d7f94c7
cindex/Python: Fix/simplify Index.parse() passing command line arguments.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94394 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25 00:43:31 +00:00
Daniel Dunbar
4efd632322
cindex/Python: Update comments, add module docstrings, add LLVM headers.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94392 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25 00:43:08 +00:00
Daniel Dunbar
a6a6499a90
cindex/Python: Move Cursor.is_ methods to CursorKind, and add test.
...
Also, add CursorKind.get_all_kinds().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94389 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24 21:20:39 +00:00
Daniel Dunbar
12bf15c48a
cindex/Python: Implement explicit objects for CursorKind enumeration values.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94388 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24 21:20:29 +00:00
Daniel Dunbar
f869083cbf
cindex/Python: Fetch SourceLocation instantiation location information on lazily, it isn't free.
...
Also, add repr() support to SourceRange.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94387 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24 21:20:21 +00:00
Daniel Dunbar
3d855f8d48
cindex/Python: Add Cursor.get_usr().
...
Also, change Cursor.spelling to return None for non-decls, for consistency with get_usr().
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94386 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24 21:20:13 +00:00
Daniel Dunbar
fb8ae1796e
cindex/Python: Return null cursors as None instead of exposing this notion.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94385 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24 21:20:05 +00:00
Daniel Dunbar
a33dca490a
cindex/Python: Convert CXString objects to regular Python strings below API.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94384 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24 21:19:57 +00:00
Daniel Dunbar
be0b555b80
Simplify.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94383 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24 21:19:48 +00:00