Ted Kremenek
ae9e221513
Implement CXCursor support for walking C++ base specifiers. This includes adding the API hooks clang_isVirtualBase() and clang_getCXXAccessSpecifier() to query properties of the base specifier.
...
Implements <rdar://problem/8274883>.
llvm-svn: 112296
2010-08-27 21:34:58 +00:00
Ted Kremenek
2c2c5f3789
Fix copy-paste in doxygen comment.
...
llvm-svn: 112295
2010-08-27 21:34:51 +00:00
Douglas Gregor
49f67ce4b3
Move the sorting of code-completion results out of the main path and
...
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
3rd try. How embarrassing.
llvm-svn: 112180
2010-08-26 13:48:20 +00:00
Daniel Dunbar
bef185c835
Revert r112149, "Move the sorting of code-completion results out of the main
...
path and ...", it is failing tests.
llvm-svn: 112161
2010-08-26 03:53:50 +00:00
Douglas Gregor
78ecc499eb
Move the sorting of code-completion results out of the main path and
...
into the clients, e.g., the printing code-completion consumer and
c-index-test. Clients may want to re-sort the results anyway.
Provide a libclang function that sorts the results.
llvm-svn: 112149
2010-08-26 02:23:45 +00:00
Ted Kremenek
a594082210
Add libclang API hook "clang_getIBOutletCollectionType" to query the collection type for iboutletcollection attributes.
...
llvm-svn: 112139
2010-08-26 01:42:22 +00:00
Peter Collingbourne
5caf5af421
Silence warning about C++-style comments.
...
llvm-svn: 111875
2010-08-24 00:31:37 +00:00
Douglas Gregor
f757a12dfc
Introduce new libclang API functions that determine the availability
...
of a cursor or code-completion result, e.g., whether that result
refers to an unavailable, deleted, or deprecated declaration.
llvm-svn: 111858
2010-08-23 23:00:57 +00:00
Douglas Gregor
6bb92ecc0a
Add an options parameter to clang_saveTranslationUnit, because we'll want it later
...
llvm-svn: 111016
2010-08-13 15:35:05 +00:00
Douglas Gregor
e938668003
Implement clang_saveTranslationUnit(), which saves a translation unit
...
into a PCH/AST file.
llvm-svn: 111006
2010-08-13 05:36:37 +00:00
Douglas Gregor
de05118c84
Add a (currently unused) "options" parameter to
...
clang_reparseTranslationUnit(), along with a function to retrieve the
default recommended reparsing options for a translation unit.
Also, add the CXTranslationUnit_CacheCompletionResults flag, which is
also currently unused.
llvm-svn: 110811
2010-08-11 15:58:42 +00:00
Douglas Gregor
4a47bca47d
Instead of having a specific CXTranslationUnit_* option flag for
...
"editing" mode, introduce a separate function
clang_defaultEditingTranslationUnitOptions() that retrieves the set of
options. No functionality change.
llvm-svn: 110613
2010-08-09 22:28:58 +00:00
Douglas Gregor
028d3e4d0f
Use precompiled preambles for in-process code completion.
...
llvm-svn: 110596
2010-08-09 20:45:32 +00:00
Douglas Gregor
b68bc59a2d
Give clang_codeCompleteAt() an "options" parameter, and add a new
...
flags enumeration + default-generating function that allows
code-completion to be customized via the libclang API.
Plus, turn on spell-checking when performing code completion.
llvm-svn: 110319
2010-08-05 09:09:23 +00:00
Douglas Gregor
8e984da800
Add code-completion support directly to ASTUnit, which performs code
...
completion within the translation unit using the same command-line
arguments for parsing the translation unit. Eventually, we'll reuse
the precompiled preamble to improve code-completion performance, and
this also gives us a place to cache results.
Expose this function via the new libclang function
clang_codeCompleteAt(), which performs the code completion within a
CXTranslationUnit. The completion occurs in-process
(clang_codeCompletion() runs code completion out-of-process).
llvm-svn: 110210
2010-08-04 16:47:14 +00:00
Ted Kremenek
0c7476ad59
Add clang_isPODType() for querying if the CXType is POD. Implements <rdar://problem/8250669>.
...
llvm-svn: 109822
2010-07-30 00:14:11 +00:00
Douglas Gregor
be2d8c6096
Basic plumbing for generating a precompiled preamble for an
...
ASTUnit/CXTranslationUnit. We can't actually use this preamble yet,
however.
llvm-svn: 109202
2010-07-23 00:33:23 +00:00
Douglas Gregor
99d2cf4838
Introduce a new C API function, clang_parseTranslationUnit(), which
...
will eventually replace
clang_createTranslationUnitFromSourceFile(). The only addition in
clang_parseTranslationUnit() is a set of flags that can control how
the translation unit is loaded. More interesting flags will be coming.
llvm-svn: 109027
2010-07-21 18:52:53 +00:00
Douglas Gregor
aa21cc401b
Introduce a new libclang API, clang_reparseTranslationUnit(), which
...
reparses an already-parsed translation unit. At the moment it's just a
convenience function, but we hope to use it for performance
optimizations.
llvm-svn: 108756
2010-07-19 21:46:24 +00:00
Ted Kremenek
c62ab8d064
Add CXType support for querying the return type of Objective-C methods. This is done by
...
adding a clang_getCursorResultType() function (which complements clang_getResultType()).
llvm-svn: 106473
2010-06-21 20:48:56 +00:00
Ted Kremenek
c150887fef
Add CXType support for FunctionNoProto and FunctionProto types. This includes adding a new
...
function, clang_getResultType(), which returns the result type of the function type.
llvm-svn: 106459
2010-06-21 20:15:39 +00:00
Daniel Dunbar
e6c1daa8fd
Makefile: Switch Clang Makefiles to always include the top-level Clang Makefile.
...
- This eliminates most dependencies on how Clang is installed relative to LLVM.
llvm-svn: 105637
2010-06-08 20:34:18 +00:00
Ted Kremenek
31729162bc
Remove clang_isFromMainFile(). It doesn't work correctly with CXDiagnostics, and we shouldn't
...
have an API around that cannot be implemented correctly yet.
llvm-svn: 104849
2010-05-27 16:57:42 +00:00
Douglas Gregor
a2db793ff0
Introduce priorities into the code-completion results.
...
llvm-svn: 104751
2010-05-26 22:00:08 +00:00
Ted Kremenek
76a434840a
Add libclang function 'clang_isFromMainFile()' (which just wraps SourceManager::isFromMainFile()).
...
llvm-svn: 104208
2010-05-20 02:59:19 +00:00
Ted Kremenek
08de5c1418
Move CXCursor_FirstDecl definition later to make the results more readable in the debugger.
...
llvm-svn: 104171
2010-05-19 21:51:10 +00:00
Ted Kremenek
84d2bd759f
Remove clang_isDeclarationADefinition() since its functionality is already provided by clang_isCursorDefinition().
...
llvm-svn: 104138
2010-05-19 18:36:55 +00:00
Ted Kremenek
26bde774df
Add clang support for IBOutletCollection.
...
llvm-svn: 104135
2010-05-19 17:38:06 +00:00
Ted Kremenek
a10f12829f
Add function 'clang_isTagDeclDefinition()' to allow clients of libclang to distinguish between
...
forward declarations and definitions of structs/classes/enums.
llvm-svn: 104075
2010-05-18 22:32:15 +00:00
Ted Kremenek
9cfe9e6a4a
Add libclang function 'clang_CXXMethod_isStatic' to query of a C++ method
...
is declared static.
llvm-svn: 103963
2010-05-17 20:06:56 +00:00
Ted Kremenek
6bca984b54
Add CXType and an initial set of supporting functions to libclang. This exposes details of
...
Clang's representation of the C type system to clients. It is nowhere near complete, and will
be expanded on demand.
llvm-svn: 103809
2010-05-14 21:29:26 +00:00
Ted Kremenek
b80cba5d7d
Add CXCursor support for LinkageSpecDecl (e.g., 'extern "C"').
...
llvm-svn: 103224
2010-05-07 01:04:29 +00:00
Ted Kremenek
bd67fb208d
Add CXCursor support for C++ namespaces.
...
llvm-svn: 103211
2010-05-06 23:38:21 +00:00
Daniel Dunbar
9f84c7b600
Move include installation steps to better location, inside each include dir instead of at the top-level.
...
Also, don't set NO_INSTALL=1 for c-index-test.
llvm-svn: 102724
2010-04-30 17:59:38 +00:00
Ted Kremenek
ee457516e6
Make CXLanguage_Invalid the first enum value (with '0' as its value) in CXLanguageKind.
...
llvm-svn: 101287
2010-04-14 20:58:32 +00:00
Ted Kremenek
225b8e39f1
Add cursor kind for C++ methods.
...
llvm-svn: 101193
2010-04-13 23:39:06 +00:00
Ted Kremenek
4ed2925b91
Add 'clang_getCursorLanguage' to return the "language" of the AST element (e.g., distinguish between C and Objective-C language features). Currently this only returns results for declarations.
...
llvm-svn: 101070
2010-04-12 21:22:16 +00:00
Ted Kremenek
de24a940a7
Update doxygen comments about lifetime requirements of CXUnsaveFile data arguments.
...
llvm-svn: 101054
2010-04-12 18:47:26 +00:00
Ted Kremenek
33b9a42f41
Add CIndex support for blocks.
...
llvm-svn: 100989
2010-04-11 21:47:37 +00:00
Ted Kremenek
e184ac5a66
Make the CIndex API more resilient to being used on invalid code.
...
llvm-svn: 98981
2010-03-19 20:39:03 +00:00
Douglas Gregor
06d6d32762
Expose macro definitions as CIndex cursors. These can still only be
...
generated by clang_annotateTokens().
llvm-svn: 98837
2010-03-18 18:04:21 +00:00
Douglas Gregor
02ded2a56c
More token-annotation experimentation, preprocessing the annotated
...
token sequence to detect macro instantiations (that produce at least
token). WIP.
llvm-svn: 98826
2010-03-18 15:23:44 +00:00
Douglas Gregor
92a524fd47
Experimental stab at using relexing to identify preprocessor
...
directives while annotating tokens in CIndex. This functionality
should probably be factored out of this routine, but we're not there
yet.
llvm-svn: 98786
2010-03-18 00:42:48 +00:00
Ted Kremenek
bc1a67bee3
Rename clang_constructUSR_ObjCategory to clang_constructUSR_ObjCCategory.
...
(there was a missing 'C').
llvm-svn: 98554
2010-03-15 17:38:58 +00:00
Ted Kremenek
d071c6019a
Implement several CIndex functions for constructing USRs from C-strings instead of AST elements.
...
llvm-svn: 98421
2010-03-13 02:50:34 +00:00
Ted Kremenek
ff9021b675
Implement clang_isUnexposed(), a predicate function to simplify filtering out
...
unexposed AST elements.
llvm-svn: 97985
2010-03-08 21:17:29 +00:00
Ted Kremenek
fb4961dfd0
Add clang_getCursorLinkage(), which returns the
...
underlying linkage for the entity referred to by a
CXCursor.
llvm-svn: 97646
2010-03-03 06:36:57 +00:00
Douglas Gregor
89a56c561f
When given unsaved files in clang_createTranslationUnitFromSourceFile,
...
copy the source buffers provided rather than referencing them
directly, so that the caller can free those buffers immediately after
calling clang_createTranslationUnitFromSourceFile(). Otherwise, we
risk hitting those buffers later (when building source ranges, forming
diagnostics, etc.).
llvm-svn: 97296
2010-02-27 01:32:48 +00:00
Douglas Gregor
d770f73fac
Rework the CIndex API for displaying diagnostics. Instead of printing
...
the diagnostics to a FILE*, return a CXString containing the formatted
diagnostic.
llvm-svn: 96823
2010-02-22 23:17:23 +00:00
Douglas Gregor
836ec94c8e
Simplify the CIndex fix-it API, now that we have half-open CXSourceRanges.
...
llvm-svn: 96685
2010-02-19 18:16:06 +00:00