summaryrefslogtreecommitdiffstats
path: root/clang/bindings/python
Commit message (Collapse)AuthorAgeFilesLines
...
* Expose the name mangling C API to Python bindings.Eli Bendersky2014-08-052-0/+27
| | | | llvm-svn: 214930
* Reformat docstring to 80-colEli Bendersky2014-07-311-3/+3
| | | | llvm-svn: 214412
* cindex.py: remove obsolete workaround and FIXMEAlp Toker2014-06-221-4/+0
| | | | | | | | | clang_getCursorSpelling() doesn't assert on non-declarations any more and the behaviour is covered by c-index tests. Passes nosetests. llvm-svn: 211482
* Implement a convenience recursive walk method over a cursor and its descendants.Eli Bendersky2014-05-292-29/+21
| | | | | | | | | | | | | Before r160106 there was a way to recursively visit all descendants of a cursor via Cursor_visit, but it was removed. Since then, every user needs to reimplement the recursive descent into get_children. Adding a walk_preorder() method to Cursor that conveniently implements recursive walking in a Pythonic way. This also greatly simplifies get_cursor and get_cursors in tests/cindex/util.py (walk_preorder is now tested through these utility functions, since they are used in many tests). llvm-svn: 209793
* Expose CUDA function attributes to the C interface.Eli Bendersky2014-05-281-0/+4
| | | | | | | | Until now all CUDA-specific attributes were represented with CXCursor_UnexposedAttr; now they are actually implemented, including the Python bindings. llvm-svn: 209767
* Trim trailing whitespace in cindex.pyEli Bendersky2014-05-281-6/+6
| | | | llvm-svn: 209754
* cindex/test_cursor.py: no need to skip implicit decls in testsAlp Toker2014-05-211-8/+1
| | | | | | | | | clang was fixed some time ago to always skip "builtins and other cruft" so tools no longer need hacks like this. Passes nosetests. llvm-svn: 209316
* Clean up language and grammar.Eric Christopher2014-05-201-2/+2
| | | | | | | Based on a patch by jfcaron3@gmail.com! PR19806 llvm-svn: 209215
* cindex-dump.py: fix the --show-ids description stringAlp Toker2014-05-051-1/+1
| | | | | | It looks like this was botched back in r94936. llvm-svn: 207947
* Fix cindex-dump.py --show-idsAlp Toker2014-05-051-1/+1
| | | | | | | | | | | | | This option flag was incorrectly expecting an argument: $ cindex-dump.py --show-ids test.cpp cindex-dump.py: error: invalid number arguments With this change the feature correctly gets enabled by --show-ids. No tests. llvm-svn: 207946
* [libclang] Add attribute support for 'pure', 'const' and 'noduplicate'.Joey Gouly2014-05-011-0/+3
| | | | | | This bumps CINDEX_VERSION_MINOR up (to 26). llvm-svn: 207767
* Fix the method len of the CompletionString object. Patch by Christopher GreeneSylvestre Ledru2014-04-271-1/+1
| | | | llvm-svn: 207348
* bindings: expose C++ access specifiersSaleem Abdulrasool2014-04-252-0/+93
| | | | | | | | | | Expose the enum CX_CXXAccessSpecifier in the python bindings as a property of the cursor. If access specifier is not applicable to the node, return the INVALID specifier rather than raising an exception. Patch by Tamás Szeli! llvm-svn: 207173
* cindex.py: Avoid deprecated functionAlp Toker2014-04-201-4/+4
| | | | | | | | | Implement Diagnostic::category_name() using clang_getDiagnosticCategoryText() instead of the deprected clang_getDiagnosticCategoryName(). Preserves existing behaviour and API covered by existing tests. llvm-svn: 206712
* Use the correct symbol for a left bracket.Bill Wendling2014-03-141-1/+1
| | | | | | PR19089 llvm-svn: 203906
* [libclang/python] Use a Python standard library module to create a temporary ↵Argyrios Kyrtzidis2014-02-201-9/+2
| | | | | | | | file. Patch by Brian Gesiak! llvm-svn: 201762
* [libclang/python] Add CompilationDatabase.getAllCompileCommands to the ↵Argyrios Kyrtzidis2013-12-202-0/+34
| | | | | | | | python bindings. Patch by Laszlo Nagy! llvm-svn: 197765
* Fix a tranche of comment, test and doc typosAlp Toker2013-12-051-1/+1
| | | | llvm-svn: 196510
* [libclang/python] Add __contains__ to SourceRange class.Argyrios Kyrtzidis2013-10-311-0/+23
| | | | | | Patch by Loïc Jaquemet! llvm-svn: 193725
* [libclang] Introduce clang_Type_getCXXRefQualifier whichexposes ↵Argyrios Kyrtzidis2013-10-111-5/+60
| | | | | | | | ref-qualifier information of function type. Patch by Che-Liang Chiou! llvm-svn: 192493
* [libclang] Add some tests by Loïc Jaquemet that I forgot to add earlier.Argyrios Kyrtzidis2013-10-071-0/+40
| | | | llvm-svn: 192108
* [libclang] python: expose a few functions, patch by Loïc Jaquemet!Argyrios Kyrtzidis2013-10-032-0/+46
| | | | llvm-svn: 191907
* [libclang] Introduce clang_Type_getClassType which returns the class type of ↵Argyrios Kyrtzidis2013-10-031-0/+12
| | | | | | | | a member pointer type. Patch by Che-Liang Chiou! llvm-svn: 191906
* [libclang] python: fix return type of clang_Type_getSizeOf().Argyrios Kyrtzidis2013-09-251-1/+1
| | | | | | Patch by Loïc Jaquemet! llvm-svn: 191346
* [libclang] Provide location for attributes and expose 'packed' attribute.Argyrios Kyrtzidis2013-09-251-0/+1
| | | | | | Patch by Loïc Jaquemet! llvm-svn: 191345
* [libclang] Don't report a DecayedType as "unexposed", report it as the ↵Argyrios Kyrtzidis2013-09-161-0/+10
| | | | | | | | original (as written) type. Patch by Anders Waldenborg! llvm-svn: 190796
* [libclang] Expose the rest of the array types.Argyrios Kyrtzidis2013-07-232-2/+13
| | | | | | Patch by Che-Liang Chiou! llvm-svn: 186967
* [libclang/python] Add a few "cursor kinds" that were missing in the python ↵Argyrios Kyrtzidis2013-06-112-5/+45
| | | | | | | | binding for libclang. Patch by Mathieu Baudet! llvm-svn: 183760
* libclang: add a function to check whether a member function is pure virtualDmitri Gribenko2013-05-171-0/+4
| | | | | | Patch by Seth Fowler. llvm-svn: 182139
* Fix return type of isBitfield in the binding definitionDmitri Gribenko2013-04-211-1/+1
| | | | | | Patch by Loïc Jaquemet. llvm-svn: 179984
* [libclang] Expose record layout info via new libclang functions:Argyrios Kyrtzidis2013-04-113-2/+115
| | | | | | | | | | | clang_Type_getAlignOf clang_Type_getSizeOf clang_Type_getOffsetOf clang_Cursor_isBitField Patch by Loïc Jaquemet! llvm-svn: 179251
* cindex.py: Handle NULL pointers when parsing translation unitsTobias Grosser2013-03-192-2/+19
| | | | | | | | | | | | | The code inside cindex.py was comparing NULL pointer returned by clang_parseTranslationUnit and clang_createTranslationUnit with None. However, as illustrated by the two tests I've added, those conditions were ineffective which resulted in assert triggering later on. Instead, a pointer is now treated as a boolean value, a NULL pointer being False. Contributed-by: Xavier Deguillard <deguilx@gmail.com> llvm-svn: 177408
* [cindex.py]: Use spaces instead of tabsTobias Grosser2013-01-201-3/+3
| | | | | | The tabs slipped in accidentally. llvm-svn: 172934
* [cindex.py] Add cache for CompletionChunk spellingsTobias Grosser2013-01-191-0/+29
| | | | | | | | | | | | | Most of the CompletionChunks represent braces, colons or other one character spellings. There is no need to call libclang, to figure out how to write a colon. Instead we use an internal cache to retrieve the correct spelling. As function calls from python are very expensive and this is a performance critical part of auto completion this patch makes formatting of auto completion results a lot faster. Formatting time changes from 0.57 to 0.45 seconds llvm-svn: 172901
* [cindex.py] Replace CachedProperty with our own implementationTobias Grosser2013-01-191-3/+9
| | | | | | | | | | | | 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
* [cindex.py]: Speed up lookup of the completion kindTobias Grosser2013-01-191-7/+11
| | | | | | | | | 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
* [python bindings] Expose cursor.referenced (clang_getCursorReferenced).Argyrios Kyrtzidis2013-01-022-0/+20
| | | | | | Patch by Matthew King! llvm-svn: 171423
* Fix a copypasto bug. Also rename the parameter in question to not shadow theMatt Beaumont-Gay2012-12-111-3/+3
| | | | | | | | 'file' builtin, and fix up a docstring a little. Hat tip to Sebastian Kreft Carreno at Google for noticing the bug. llvm-svn: 169887
* [clang.py] Add Cursor.get_arguments()Gregory Szorc2012-11-012-0/+24
| | | | | | Patch provided by Matthias Kleine <matthias_kleine@gmx.de> llvm-svn: 167216
* Python bindings: fix typo.Benjamin Kramer2012-10-071-1/+1
| | | | llvm-svn: 165375
* Python bindings: Add missing availability kind.Benjamin Kramer2012-10-072-9/+50
| | | | | | Patch by Leo Liu, test case by me. llvm-svn: 165374
* Fix cindex.py compatibility with older libclang.soDmitri Gribenko2012-09-221-1/+10
| | | | | | | The issue is that we were calling clang_getCompletionBriefComment unconditionally. New we check if this function is available before calling it. llvm-svn: 164464
* Add bindings for clang_getCompletionBriefComment to cindex.py.Dmitri Gribenko2012-09-152-2/+63
| | | | llvm-svn: 163966
* [cindex.py] Make the use of a compatibilty check explicitTobias Grosser2012-09-051-4/+31
| | | | | | | | | | | | | | | | 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
* [cindex.py] Allow to configure the path of libclangTobias Grosser2012-09-031-134/+189
| | | | | | | | | | | 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
* [cindex.py] Add helper to initialize libclang functionsTobias Grosser2012-09-011-385/+533
| | | | | | | | | | | | | | | | 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
* [cindex.py] Cache the number of chunks in CompletionStringTobias Grosser2012-08-201-1/+5
| | | | | | | | 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
* [cindex.py] Add CachedProperty to CompletionChunkTobias Grosser2012-08-191-3/+3
| | | | | | Suggested by: Francisco Lopes <oblita@gmail.com> llvm-svn: 162191
* [clang.py] Add CachedProperty decoratorGregory Szorc2012-08-191-0/+25
| | | | | | It isn't used anywhere yet. llvm-svn: 162190
* [cindex.py] Use spaces, not tabs for indentationTobias Grosser2012-08-181-1/+1
| | | | | | Reported by: Francisco Lopes <oblita@gmail.com> llvm-svn: 162182
OpenPOWER on IntegriCloud