Eli Bendersky
d28bc5e2f2
Expose the name mangling C API to Python bindings.
...
llvm-svn: 214930
2014-08-05 22:27:50 +00:00
Eli Bendersky
086e5816b0
Implement a convenience recursive walk method over a cursor and its descendants.
...
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
2014-05-29 02:35:27 +00:00
Alp Toker
ab54f46eec
cindex/test_cursor.py: no need to skip implicit decls in tests
...
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
2014-05-21 19:17:38 +00:00
Saleem Abdulrasool
05f9613610
bindings: expose C++ access specifiers
...
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
2014-04-25 02:58:03 +00:00
Argyrios Kyrtzidis
4590498d05
[libclang/python] Use a Python standard library module to create a temporary file.
...
Patch by Brian Gesiak!
llvm-svn: 201762
2014-02-20 07:24:03 +00:00
Argyrios Kyrtzidis
b0188f246a
[libclang/python] Add CompilationDatabase.getAllCompileCommands to the python bindings.
...
Patch by Laszlo Nagy!
llvm-svn: 197765
2013-12-20 01:34:00 +00:00
Argyrios Kyrtzidis
fe04fe0d41
[libclang] Add some tests by Loïc Jaquemet that I forgot to add earlier.
...
llvm-svn: 192108
2013-10-07 16:38:40 +00:00
Argyrios Kyrtzidis
53f45c7d55
[libclang] python: expose a few functions, patch by Loïc Jaquemet!
...
llvm-svn: 191907
2013-10-03 16:19:27 +00:00
Argyrios Kyrtzidis
07ee5c44b4
[libclang] Don't report a DecayedType as "unexposed", report it as the original (as written) type.
...
Patch by Anders Waldenborg!
llvm-svn: 190796
2013-09-16 17:26:23 +00:00
Argyrios Kyrtzidis
0661a71698
[libclang] Expose the rest of the array types.
...
Patch by Che-Liang Chiou!
llvm-svn: 186967
2013-07-23 17:36:21 +00:00
Argyrios Kyrtzidis
016fa1b899
[libclang/python] Add a few "cursor kinds" that were missing in the python binding for libclang.
...
Patch by Mathieu Baudet!
llvm-svn: 183760
2013-06-11 18:05:42 +00:00
Argyrios Kyrtzidis
e822f58db4
[libclang] Expose record layout info via new libclang functions:
...
clang_Type_getAlignOf
clang_Type_getSizeOf
clang_Type_getOffsetOf
clang_Cursor_isBitField
Patch by Loïc Jaquemet!
llvm-svn: 179251
2013-04-11 01:20:11 +00:00
Tobias Grosser
14a2d7b9f0
cindex.py: Handle NULL pointers when parsing translation units
...
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
2013-03-19 15:30:48 +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
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
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
98f93adefc
Add bindings for clang_getCompletionBriefComment to cindex.py.
...
llvm-svn: 163966
2012-09-15 11:56:32 +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
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
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
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
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
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
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