Tobias Grosser
2f1328b35b
[cindex.py] Replace CachedProperty with our own implementation
...
This is a very performance critical point for auto completion. The manual
implementation gives a large speedup. As it does not complicate the code a lot,
I figured it is worth the change. If anybody understands why the CachedProperty
is here so much slower, I am very interested in working on an improvement of
CachedProperty.
Formatting time changes from 0.72 to 0.57 seconds.
llvm-svn: 172900
2013-01-19 11:03:42 +00:00
Tobias Grosser
055f4b4d00
[cindex.py]: Speed up lookup of the completion kind
...
We can directly the number of the kind instead of going through the
completionChunkKindMap.
Formatting time changes from 0.84 to 0.72 seconds.
llvm-svn: 172899
2013-01-19 11:03:40 +00:00
Argyrios Kyrtzidis
eedb5432c5
[python bindings] Expose cursor.referenced (clang_getCursorReferenced).
...
Patch by Matthew King!
llvm-svn: 171423
2013-01-02 22:31:57 +00:00
Matt Beaumont-Gay
9728393555
Fix a copypasto bug. Also rename the parameter in question to not shadow the
...
'file' builtin, and fix up a docstring a little.
Hat tip to Sebastian Kreft Carreno at Google for noticing the bug.
llvm-svn: 169887
2012-12-11 17:37:46 +00:00
Gregory Szorc
245296ed40
[clang.py] Add Cursor.get_arguments()
...
Patch provided by Matthias Kleine <matthias_kleine@gmx.de>
llvm-svn: 167216
2012-11-01 05:46:30 +00:00
Fariborz Jahanian
a7d76d2672
[Doc parsing]: This patch adds <Declaration> tag to
...
XML comment for declarations which pretty-prints
declaration. I had to XFAIL one test annotate-comments.cpp.
This test is currently unmaintainable as written.
Dmitri G., can you see what we can do about this test.
We should change this test such that adding a new tag does not wreck
havoc to the test.
llvm-svn: 166130
2012-10-17 21:58:03 +00:00
Benjamin Kramer
8aa41a0908
Python bindings: fix typo.
...
llvm-svn: 165375
2012-10-07 11:51:45 +00:00
Benjamin Kramer
7c52cc4c77
Python bindings: Add missing availability kind.
...
Patch by Leo Liu, test case by me.
llvm-svn: 165374
2012-10-07 11:46:37 +00:00
Dmitri Gribenko
61b1db1629
Comment to XML conversion: escape XML special chars correctly; use correct
...
regex for version tuples.
llvm-svn: 165104
2012-10-03 09:04:56 +00:00
Fariborz Jahanian
e61fc44c3d
[Doc parse]: SUpport for message in deprecated/unavailable
...
attribute going iinto XML document.
llvm-svn: 165066
2012-10-02 23:01:04 +00:00
Fariborz Jahanian
de0ae1e406
[Doc parsing]: Add available and deprecated attribute info
...
to XML output. // rdar://12378879
llvm-svn: 165039
2012-10-02 20:05:47 +00:00
Fariborz Jahanian
c491c3f27a
availability in structured documents. Takes
...
care of comments by Dimitri and Doug.
llvm-svn: 164957
2012-10-01 18:42:25 +00:00
Dmitri Gribenko
261c9683e2
Comment XML schema: correct indentation.
...
llvm-svn: 164889
2012-09-29 08:27:37 +00:00
Fariborz Jahanian
35760a8937
[Doc parsing] Add availability information to generated Comment XML.
...
(I still need to add a test once I figure it out).
Reviewed off-line by Doug. // rdar://12378879
llvm-svn: 164861
2012-09-28 22:35:49 +00:00
Dmitri Gribenko
b947e8239f
Fix cindex.py compatibility with older libclang.so
...
The issue is that we were calling clang_getCompletionBriefComment
unconditionally. New we check if this function is available before calling it.
llvm-svn: 164464
2012-09-22 17:52:29 +00:00
Dmitri Gribenko
98f93adefc
Add bindings for clang_getCompletionBriefComment to cindex.py.
...
llvm-svn: 163966
2012-09-15 11:56:32 +00:00
Dmitri Gribenko
0b1a96a876
Comment to XML conversion: we try not to emit empty <Discussion> elements, but
...
it is not possible to guarantee that without duplicating logic or buffering
<Discussion> element contents. So, allow empty <Discussion> elements in schema.
llvm-svn: 163842
2012-09-13 21:32:58 +00:00
Tobias Grosser
d0855e180d
[cindex.py] Make the use of a compatibilty check explicit
...
At the moment, we implictly check compatibility between the python
bindings and libclang, as the python bindings will fail to load in
case a method we use in libclang is not available.
This patch makes the use of this compatibility check explicit and introduces a
flag to optionally disable the check. This will allow us to further harden the
compatibility check, but it also gives the user the possibility to disable the
compatibility check to evaluate compatibility with older libclang versions.
I added documentation that makes clear the python bindings are only tested
with the libclang version they have been shipped with.
llvm-svn: 163238
2012-09-05 20:23:53 +00:00
Tobias Grosser
73d3f826e7
[cindex.py] Allow to configure the path of libclang
...
By calling cindex.Config.set_library_path(path) or
cindex.Config.set_library_file(file) it is possible to specify from where
we load libclang. This fixes an open FIXME.
We also point the user to these functions, in case libclang can not be
loaded sucessfully.
llvm-svn: 163121
2012-09-03 18:32:30 +00:00
Tobias Grosser
68e0e22a00
[cindex.py] Add helper to initialize libclang functions
...
The helper allows us to define how the initialization of functions should
behave. We use this patch to provide an informative error message, in case a
function is not available:
"LibclangError: /home/grosser/Projekte/llvm/install/lib/libclang.so: undefined
symbol: clang_method_added_in_2020. Please ensure that your python bindings are
compatible with your libclang.so version."
This patch also ensures that no spelling mistakes slip into the library
initialization. At the moment, there are a couple of 'argtype' -> 'argtypes'
mispellings that have been overlooked.
llvm-svn: 163057
2012-09-01 08:55:17 +00:00
Tobias Grosser
6e98cdebf4
[cindex.py] Cache the number of chunks in CompletionString
...
Without this patch, lib.clang_getNumCompletionChunks is called at
each _iteration_ of a 'for chunk in CompletionString' loop. Now we
call it just once.
llvm-svn: 162200
2012-08-20 10:38:16 +00:00
Tobias Grosser
e9633f16bd
[cindex.py] Add CachedProperty to CompletionChunk
...
Suggested by: Francisco Lopes <oblita@gmail.com>
llvm-svn: 162191
2012-08-19 22:26:15 +00:00
Gregory Szorc
fbd4f4768c
[clang.py] Add CachedProperty decorator
...
It isn't used anywhere yet.
llvm-svn: 162190
2012-08-19 21:17:46 +00:00
Tobias Grosser
83bc743bf4
[cindex.py] Use spaces, not tabs for indentation
...
Reported by: Francisco Lopes <oblita@gmail.com>
llvm-svn: 162182
2012-08-18 23:52:41 +00:00
Tobias Grosser
2fb29363f9
[cindex.py] Dispose code completion results properly
...
llvm-svn: 162181
2012-08-18 23:04:08 +00:00
Dmitri Gribenko
6cffc1928a
Comment XML: use xml:space="preserve" in Verbatim tags, so that XML tidy does
...
not compress spaces in verbatim content.
llvm-svn: 161531
2012-08-08 22:10:24 +00:00
Dmitri Gribenko
168d23414a
Comment AST: DeclInfo: add a special kind for enums.
...
Comment XML: add a root node kind for enums.
llvm-svn: 161442
2012-08-07 18:59:04 +00:00
Dmitri Gribenko
740c0fbe0e
libclang API for comment-to-xml conversion.
...
The implementation also includes a Relax NG schema and tests for the schema
itself. The schema is used in c-index-test to verify that XML documents we
produce are valid. In order to do the validation, we add an optional libxml2
dependency for c-index-test.
Credits for CMake part go to Doug Gregor. Credits for Autoconf part go to Eric
Christopher. Thanks!
llvm-svn: 161431
2012-08-07 17:54:38 +00:00
Gregory Szorc
9a2cb42451
[clang.py] Implement Token API
...
llvm-svn: 160111
2012-07-12 07:21:12 +00:00
Gregory Szorc
bdbb73d276
[clang.py] Add TranslationUnit.get_{file,source_location,source_range}
...
llvm-svn: 160107
2012-07-12 05:05:56 +00:00
Gregory Szorc
f1b7e3c7ba
[clang.py] Refactor how ctypes functions are registered
...
llvm-svn: 160106
2012-07-12 04:56:46 +00:00
Arnaud A. de Grandmaison
cdccafa53c
[cindex.py] Make CompileCommand.arguments usage consistent with CompileCommand.directory and the rest of the python binding
...
Patch by David Röthlisberger
llvm-svn: 159970
2012-07-10 00:00:05 +00:00
Arnaud A. de Grandmaison
82dd00c5c3
[cindex.py] fix infinite iteration of compilation database CompileCommands
...
Patch by David Röthlisberger
llvm-svn: 159926
2012-07-09 11:57:30 +00:00
Arnaud A. de Grandmaison
89341e78c3
[cindex.py] Fix erroneous comment for CompileCommands
...
llvm-svn: 159810
2012-07-06 08:22:05 +00:00
Arnaud A. de Grandmaison
fa6d73cc90
[libclang] CompilationDatabase naming and comment fixes
...
llvm-svn: 159682
2012-07-03 20:38:12 +00:00
Arnaud A. de Grandmaison
8599ccc6b8
[cindex.py] Fix comments
...
llvm-svn: 159492
2012-06-30 20:43:37 +00:00
Arnaud A. de Grandmaison
c0560064dd
[cindex.py] add CompilationDatabase support
...
llvm-svn: 159485
2012-06-30 11:28:04 +00:00
Gregory Szorc
1162fa0a97
[clang.py] Implement SourceLocation.from_offset
...
llvm-svn: 158307
2012-06-11 11:11:48 +00:00
Gregory Szorc
531880af77
[clang.py] Implement Cursor.is_static_method
...
llvm-svn: 158277
2012-06-09 16:21:34 +00:00
Douglas Gregor
aadbfafcd1
Fix typo "CursorKind.CONDITONAL_OPERATOR" in Python bindings, from
...
Manish Verma!
llvm-svn: 158182
2012-06-08 00:16:27 +00:00
Gregory Szorc
b25e3d143a
[clang.py] Store reference to TranslationUnit in Cursor and Type
...
llvm-svn: 156846
2012-05-15 19:51:02 +00:00
Gregory Szorc
8eac05c362
[clang.py] Implement Cursor.canonical
...
llvm-svn: 156753
2012-05-14 03:56:33 +00:00
Gregory Szorc
71efa09fa7
[clang.py] Implement Cursor.result_type
...
llvm-svn: 156752
2012-05-14 03:53:29 +00:00
Gregory Szorc
c4b649d50a
[clang.py] Followup to TranslationUnit refactor
...
* Document index argument in TranslationUnit.from_source
* Add numeric error code to TranslationUnitSaveError string representation
* Use None instead of [] for default argument value in
TranslationUnit.codeComplete
llvm-svn: 156722
2012-05-12 20:49:13 +00:00
Gregory Szorc
23cfc9f760
[clang.py] Remove trailing whitespace from recent commits
...
llvm-svn: 156373
2012-05-08 06:01:34 +00:00
Gregory Szorc
dfc894f3aa
[clang.py] TranslationUnit API improvements
...
* TranslationUnit reading and parsing now implemented as
TranslationUnit.from_ast() and TranslationUnit.from_source().
* Index.parse() and Index.read() implemented through above.
* Index.parse() and Index.read() now raise a TanslationUnitLoadException
instead of returning None if a TranslationUnit could not be
instantiated. This is backwards incompatible.
* Ability to save TranslationUnits via TranslationUnit.save().
* TranslationUnit now holds onto Index instance that created. This means
the Index can't be GC'd until the TranslationUnit is itself GC'd,
making memory management thoughtless.
* Don't use [] as a default argument value, as the initial value used is
reused for the duration of the program.
llvm-svn: 156372
2012-05-08 05:56:38 +00:00
Manuel Klimek
297e9c3091
- Adding lexical_parent and semantic_parent properties to clang.cindex.Cursor
...
- Two new tests (one for each property), require libclang built from r155858 or later to pass
- New test utility function (get_cursors) that gets all the nodes with a specific spelling.
Patch by Evan Pipho.
llvm-svn: 156286
2012-05-07 05:56:03 +00:00
Anders Waldenborg
750c04f1a5
[python] Add testcase for annotation cursor
...
llvm-svn: 156022
2012-05-02 21:28:34 +00:00
Anders Waldenborg
94c71052e7
[python] Add Cursor.enum_value wrapping clang_getEnumConstantDeclValue
...
llvm-svn: 156017
2012-05-02 20:57:33 +00:00
Anders Waldenborg
c2d64c428a
[python] Add testcase for enum with specified underlaying type
...
llvm-svn: 156009
2012-05-02 19:39:46 +00:00
Anders Waldenborg
23373c73f0
[python] Run tests for c++ with std=c++11
...
llvm-svn: 156008
2012-05-02 19:37:16 +00:00
Anders Waldenborg
d8f66426a1
[python] Fix warning in c-code inside testcase
...
llvm-svn: 156007
2012-05-02 19:35:37 +00:00
Gregory Szorc
5a833d6680
[clang.py] Implement TypeKind.spelling
...
llvm-svn: 154769
2012-04-15 18:51:10 +00:00
Gregory Szorc
a8b30c5b61
[clang.py] Implement Cursor.objc_type_encoding
...
llvm-svn: 152513
2012-03-10 22:23:27 +00:00
Gregory Szorc
0e20a09165
[clang.py] Refactor get_tu and get_cursor test helper functions into util.py
...
llvm-svn: 152510
2012-03-10 22:19:05 +00:00
Gregory Szorc
74226d3597
[clang.py] Return bool from Cursor.__eq__
...
llvm-svn: 152011
2012-03-05 00:42:15 +00:00
Gregory Szorc
5b4173912f
[clang.py] Test Cursor.__ne__
...
llvm-svn: 151504
2012-02-26 21:56:32 +00:00
Gregory Szorc
19bf2398ba
[clang.py] Format and add documention for Type
...
llvm-svn: 150972
2012-02-20 17:58:40 +00:00
Gregory Szorc
a5a89b9564
[clang.py] Add tests for Type.is_volatile_qualified and Type.is_restrict_qualified
...
llvm-svn: 150971
2012-02-20 17:58:02 +00:00
Gregory Szorc
495c7dae5d
[clang.py] Implement Type.argument_types()
...
llvm-svn: 150970
2012-02-20 17:45:30 +00:00
Gregory Szorc
8a840febac
[clang.py] Implement Type.__eq__ and Type.__ne__
...
llvm-svn: 150969
2012-02-20 17:44:49 +00:00
Gregory Szorc
8428c242b8
[clang.py] Implement Type.is_function_variadic
...
llvm-svn: 150936
2012-02-19 18:28:33 +00:00
Gregory Szorc
dd19169988
[clang.py] Implement Type.element_count
...
llvm-svn: 150800
2012-02-17 07:47:38 +00:00
Gregory Szorc
e1e9ec1082
[clang.py] Implement Type.element_type
...
llvm-svn: 150799
2012-02-17 07:44:46 +00:00
Gregory Szorc
04d612aa12
[clang.py] Implement Type.is_pod
...
llvm-svn: 149842
2012-02-05 19:42:06 +00:00
Tobias Grosser
6a7644683c
[clang.py] Change type -> Type
...
Names that have corresponding classes in python are commonly started with an
uppercase letter. Let's follow that convention.
llvm-svn: 149831
2012-02-05 12:15:56 +00:00
Tobias Grosser
a0022e911e
[clang.py] Implement Cursor.enum_type
...
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149830
2012-02-05 11:42:25 +00:00
Tobias Grosser
062d2a3c89
[clang.py] Implement Cursor.underlying_typedef_type
...
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149829
2012-02-05 11:42:20 +00:00
Tobias Grosser
13d92a4b8f
[clang.py] add TypeKind.VECTOR
...
Added a missing enumeration.
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149828
2012-02-05 11:42:14 +00:00
Tobias Grosser
49bd32c1d2
[clang.py] Add CursorKind.{is_translation_unit, is_preprocessing, is_unexposed}
...
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149827
2012-02-05 11:42:09 +00:00
Tobias Grosser
ebb0ae82a2
[clang.py] Implement Cursor.hash
...
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149826
2012-02-05 11:42:03 +00:00
Tobias Grosser
9fc76f2cbf
[clang.py] Expose diagnostic category and option info to Python binding
...
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149825
2012-02-05 11:41:58 +00:00
Tobias Grosser
fb7b4aa45a
[clang.py] Implement __eq__ and __ne__ on SourceLocation and SourceRange
...
There is no type checking in __eq__, so ctypes will throw if the wrong
Python type is passed in to the C function. Personally, I feel garbage
in means garbage out and it isn't worth testing for this explicitly.
Contributed by: Gregory Szorc <gregory.szorc@gmail.com>
llvm-svn: 149824
2012-02-05 11:40:59 +00:00
Rafael Espindola
30ccf36224
Add CXX_FINAL_ATTR, CXX_OVERRIDE_ATTR, ANNOTATE_ATTR and ASM_LABEL_ATTR to the
...
python bindinds.
patch by Tom Schuster!
llvm-svn: 147378
2011-12-30 15:27:22 +00:00
Benjamin Kramer
e56f393249
Mass rename C1x references to C11. The name hasn't proliferated like "C++0x" so this patch is surprisingly small.
...
Also drop -Wc1x-extensions in favor of -Wc11-extensions. I don't think we need to keep this around for compatibility.
llvm-svn: 147221
2011-12-23 17:00:35 +00:00
Tobias Grosser
3510e999c4
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)
llvm-svn: 143330
2011-10-31 02:06:50 +00:00
Tobias Grosser
237f5a07fa
clang.py: Remove use of ternary operators
...
This change is necessary to make this file python 2.4 compatible.
llvm-svn: 143324
2011-10-31 00:49:07 +00:00
Tobias Grosser
e15496f1d7
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.
llvm-svn: 143322
2011-10-31 00:31:32 +00:00
Tobias Grosser
80c4b81f54
cindex.py: Add File.create_from_name()
...
llvm-svn: 143321
2011-10-31 00:07:19 +00:00
Douglas Gregor
5fdc4de718
Add support for constant arrays, from Anders Waldenborg!.
...
llvm-svn: 142477
2011-10-19 05:51:43 +00:00
Douglas Gregor
89861066ed
Add TypeKind.CONSTANTARRAY, from Anders Waldenborg!
...
llvm-svn: 142476
2011-10-19 05:50:34 +00:00
Douglas Gregor
d59d02cc38
Fix error message for unknown type kind, from Anders Waldenborg!
...
llvm-svn: 142475
2011-10-19 05:49:29 +00:00
Douglas Gregor
32df3664be
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!
llvm-svn: 142474
2011-10-19 05:47:46 +00:00
Douglas Gregor
4c362d5310
Expose more statement, expression, and declaration kinds in libclang,
...
from Manuel Holtgrewe!
llvm-svn: 141200
2011-10-05 19:00:14 +00:00
Douglas Gregor
506d34a0df
Update python testcase for GNU old-style field designator warning,
...
from Anders Waldenborg!
llvm-svn: 138786
2011-08-30 00:16:30 +00:00
Douglas Gregor
7c7c068251
Add support for Cursor.displayname in python bindings, from Anders Waldenborg!
...
llvm-svn: 138785
2011-08-30 00:15:34 +00:00
Argyrios Kyrtzidis
3fce368d87
[python] Fix bug of the SourceLocation binding.
...
Patch by Anders Waldenborg!
llvm-svn: 137829
2011-08-17 17:20:24 +00:00
Argyrios Kyrtzidis
8f6bd2d653
[python] Add test_type.py by Anders Waldenborg, which I forgot to commit in r137797.
...
llvm-svn: 137828
2011-08-17 17:01:10 +00:00
Argyrios Kyrtzidis
f872dc4c3b
[python] Add support for CXType to python bindings.
...
Patch by Anders Waldenborg!
llvm-svn: 137797
2011-08-17 00:43:03 +00:00
Douglas Gregor
a98034a25e
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
llvm-svn: 134460
2011-07-06 03:00:34 +00:00
Tobias Grosser
b0e0597d07
python bindings: Add support for different kind of completion chunks
...
llvm-svn: 124959
2011-02-05 17:54:10 +00:00
Tobias Grosser
b0949a17a0
python bindings: Get the string representation of a CompletionChunk
...
llvm-svn: 124958
2011-02-05 17:54:07 +00:00
Tobias Grosser
85bb48fce7
python bindings: Add CodeCompletionResults
...
llvm-svn: 124957
2011-02-05 17:54:04 +00:00
Tobias Grosser
2a8aac5ff4
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.
llvm-svn: 124956
2011-02-05 17:54:00 +00:00
Tobias Grosser
4748651060
python bindings: Include local headers the right way.
...
llvm-svn: 124955
2011-02-05 17:53:55 +00:00
Tobias Grosser
0e19c192f5
python bindings: Remove unneeded instruction
...
llvm-svn: 124954
2011-02-05 17:53:53 +00:00
Tobias Grosser
5153e79931
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.
llvm-svn: 124953
2011-02-05 17:53:51 +00:00
Tobias Grosser
82c18a502f
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.
llvm-svn: 124952
2011-02-05 17:53:48 +00:00
Tobias Grosser
2128823e74
python bindings: Synchronize cursor kinds
...
clang-c/Index.h contained cursor kinds not yet available in the python bindings.
Contributed-By: jmuizelaar@mozilla.com
llvm-svn: 124951
2011-02-05 17:53:47 +00:00
Daniel Dunbar
d5a2a073a0
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.
llvm-svn: 102779
2010-04-30 21:51:10 +00:00
Benjamin Kramer
aaff78ec9c
Rename the new Iterator objects and raise an assertion instead of returning invalid objects when the key is out of range.
...
llvm-svn: 97881
2010-03-06 15:38:03 +00:00
Benjamin Kramer
ff90813e42
Update the python bindings for recent changes in the CIndex API.
...
llvm-svn: 97880
2010-03-06 14:53:07 +00:00
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