Argyrios Kyrtzidis
93db2923da
[libclang] When indexing an objc property, also provide information about
...
the getter/setter objc method entities that the property is associated with.
rdar://10244558
llvm-svn: 151634
2012-02-28 17:50:33 +00:00
Argyrios Kyrtzidis
335c5a42e9
Don't record nested macro expansions in the preprocessing record,
...
it can only bring pain when dealing with preprocessor abuse (see: boost).
rdar://10898986
llvm-svn: 151427
2012-02-25 02:41:16 +00:00
Douglas Gregor
3009383b9f
Implement indexing support for lambdas in libclang (both kinds), as
...
well as improving the RecursiveASTVisitor's walk of lambda
expressions.
llvm-svn: 150549
2012-02-15 00:54:55 +00:00
Argyrios Kyrtzidis
7e747957cd
[libclang] Indexing: only index implicit template instantiations via an opt-in indexing option.
...
llvm-svn: 150517
2012-02-14 22:23:11 +00:00
Benjamin Kramer
72e6ce5aa9
libclang: Mark clang_Cursor_isNull with CINDEX_LINKAGE to make it available on windows.
...
Patch by Timothy J Fontaine!
llvm-svn: 149533
2012-02-01 20:37:28 +00:00
Argyrios Kyrtzidis
fb7d1455cd
[libclang] Add CXIndexOpt_IndexFunctionLocalSymbols indexing option to indicate
...
that one wants indexing callbacks for function-local symbols as well.
llvm-svn: 148160
2012-01-14 00:11:49 +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
Argyrios Kyrtzidis
4d873b725e
[libclang] Indexing API: provide an attribute list inside CXIdxEntityInfo
...
so that we can access the attributes of an entity for a reference.
llvm-svn: 146616
2011-12-15 00:05:00 +00:00
Argyrios Kyrtzidis
9b9f7a9f7a
[libclang] Indexing API: Provide the protocols list for objc categories as well.
...
rdar://10573361
llvm-svn: 146498
2011-12-13 18:47:45 +00:00
Argyrios Kyrtzidis
25cb0ff3d8
[libclang] Indexing API: Fix indexing of missed references.
...
rdar://10567864&10567916
llvm-svn: 146497
2011-12-13 18:47:41 +00:00
Ted Kremenek
b4a8b056f8
Add clang_getDiagnosticSetFromTU() to libclang. Fixes <rdar://problem/10553081>.
...
llvm-svn: 146287
2011-12-09 22:28:32 +00:00
Argyrios Kyrtzidis
663c8ecda1
[libclang] Indexing API: provide both the semantic and the lexical container.
...
They are generally the same except in C++ cases like out-of-line member functions.
llvm-svn: 146069
2011-12-07 20:44:19 +00:00
Argyrios Kyrtzidis
520028802c
[libclang] Introduce CXIdxEntityLanguage that indicates the language
...
of an indexed entity.
llvm-svn: 146067
2011-12-07 20:44:12 +00:00
Argyrios Kyrtzidis
66f433a746
[libclang] API enhancements by Joe Groff!
...
- Exposes a CXType_Vector type kind for vector types.
- Adds generalized versions of the clang_getArrayElementType and clang_getArraySize functions, named clang_getElementType and clang_getNumElements, which work on array, vector, or complex types.
- Adds additional functions for querying function types. clang_isFunctionTypeVariadic returns true if a function type is variadic. clang_getFunctionCallingConv returns an enumeration value indicating the calling convention of the function type. clang_getNumArgTypes returns the number of static argument types, and clang_getArgType gets the type of an argument.
- Adds a clang_getTypedefDeclUnderlyingType function to get the underlying type from a TypedefDecl cursor.
- Adds a clang_getEnumDeclIntegerType function to get the integer type from an EnumDecl cursor.
- Adds clang_getEnumConstantDeclValue and clang_getEnumConstantDeclUnsignedValue functions to get the value of an EnumConstantDecl as a signed or unsigned long long, respectively.
- Exposes a CXCursor_AsmLabelAttr cursor kind for __asm__("label") attributes.
- Alters clang_getCursorSpelling to return the label value for AsmLabelAttr-kind cursors.
llvm-svn: 145972
2011-12-06 22:05:01 +00:00
Argyrios Kyrtzidis
1a10f29b2f
[libclang] When indexing a field in a C++ class, return an entity
...
of kind CXIdxEntity_CXXInstanceVariable. rdar://10522503.
llvm-svn: 145859
2011-12-05 22:05:28 +00:00
Argyrios Kyrtzidis
4c910b1475
[libclang] Indexing API: Support C++ symbols.
...
llvm-svn: 145058
2011-11-22 07:24:51 +00:00
Argyrios Kyrtzidis
effdbf55ac
[libclang] Indexing API:
...
-For indexDeclaration, also pass the declaration attributes as an array of cursors.
-Rename CXIndexOpt_OneRefPerFile -> CXIndexOpt_SuppressRedundantRefs, and only pass
a reference if a declaration/definition does not exist in the file.
-Other fixes.
llvm-svn: 144942
2011-11-18 00:26:51 +00:00
Argyrios Kyrtzidis
d992e14394
[libclang] Introduce a new function to apply the indexing callbacks on an existing
...
CXTranslationUnit, mainly to be used for indexing a PCH.
llvm-svn: 144623
2011-11-15 06:20:16 +00:00
Argyrios Kyrtzidis
86acd72bd2
[libclang] Slight changes to the indexing API and bigger internal changes for it.
...
llvm-svn: 144577
2011-11-14 22:39:19 +00:00
Argyrios Kyrtzidis
3e429e7cc4
[libclang] Further simplify the indexing API.
...
That stuff can be added later on if we need them.
Also add some const goodness.
llvm-svn: 144446
2011-11-12 02:16:30 +00:00
Douglas Gregor
910c37c85e
Fix some typos, grammar errors, etc. in cursor kind descriptions
...
llvm-svn: 144412
2011-11-11 22:35:18 +00:00
NAKAMURA Takumi
aacef7ea3c
include/clang-c/Index.h: Update CINDEX_LINKAGE on 6 decls. Corresponds to libclang.exports in r144343
...
llvm-svn: 144357
2011-11-11 02:51:09 +00:00
Argyrios Kyrtzidis
7519c5e440
[libclang] Simplify the indexing API.
...
Cut down the number of callbacks to more generic ones. Clients can check
an enum to find out what kind of declaration it is and they can call functions
to get more specific information than the generic provided info.
llvm-svn: 144343
2011-11-11 00:23:36 +00:00
Ted Kremenek
d010ba4729
serialized diagnostics: implement full deserialization of clang diagnostics via the libclang API.
...
I've tested it on simple cases and it works. Test cases to follow as well as a few tweaks.
llvm-svn: 144269
2011-11-10 08:43:12 +00:00
Douglas Gregor
9bd86daa95
Fix comment typos
...
llvm-svn: 144120
2011-11-08 21:07:04 +00:00
Argyrios Kyrtzidis
11d6114ccc
[libclang] Add comments.
...
llvm-svn: 143111
2011-10-27 17:36:12 +00:00
Argyrios Kyrtzidis
0c7735e525
[libclang] Index implicit property references.
...
llvm-svn: 142355
2011-10-18 15:50:50 +00:00
Argyrios Kyrtzidis
dc199a3152
[libclang] Introduce a new high level API for indexing clients that assumes
...
more of the work involved in indexing a translation unit and simplifies client
implementations.
Only C/ObjC for now, C++ (and comments) to come.
llvm-svn: 142233
2011-10-17 19:48:19 +00:00
Erik Verbruggen
98ea7f6737
Added clang_getCompletionAnnotation and clang_getCompletionNumAnnotations to
...
retrieve annotations from completion string.
llvm-svn: 141953
2011-10-14 15:31:08 +00:00
Erik Verbruggen
ca98f2a63f
Allow for annotate attributes after access specifiers. When such
...
attributes are found, propagate them to subsequent declarations.
llvm-svn: 141861
2011-10-13 09:41:32 +00:00
Erik Verbruggen
d6dba31526
[libclang] Removed accidental addition of CXCursor_AnnotateAttr.
...
llvm-svn: 141292
2011-10-06 13:12:18 +00:00
Erik Verbruggen
d610b0faab
[libclang] Fix symbol export for clang_Range_isNull so MSVC won't complain.
...
llvm-svn: 141282
2011-10-06 12:11:57 +00:00
Erik Verbruggen
2e657ffd8e
Added CXAvailability_NotAccessible to indicate that a declaration is available, but not accessible from the current code completion context.
...
llvm-svn: 141278
2011-10-06 07:27:49 +00:00
Argyrios Kyrtzidis
cddafd3969
[libclang] Introduce clang_findReferencesInFile which accepts a cursor, a file,
...
and a callback and finds all identifier references of the cursor in the file.
rdar://7948304
llvm-svn: 141277
2011-10-06 07:00:54 +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
Argyrios Kyrtzidis
12afd70370
[libclang] Introduce CXCursor_CXXAccessSpecifier for C++'s public:/private:/protected: specifiers.
...
Patch by Paolo Capriotti!
llvm-svn: 140864
2011-09-30 17:58:23 +00:00
Argyrios Kyrtzidis
e7e4291448
[libclang] Introduce clang_Range_isNull.
...
llvm-svn: 140706
2011-09-28 18:14:21 +00:00
Argyrios Kyrtzidis
2b0cf60df3
[libclang] Expose array size and element type, patch by Vinay Sajip!
...
llvm-svn: 140614
2011-09-27 17:44:34 +00:00
Argyrios Kyrtzidis
a1bcb6adb5
MSVC is stuck in the 80s.
...
llvm-svn: 140597
2011-09-27 04:14:36 +00:00
Argyrios Kyrtzidis
d6e9fa55eb
[libclang] Introduce clang_Cursor_isNull and clang_Cursor_getTranslationUnit functions.
...
llvm-svn: 140587
2011-09-27 00:30:30 +00:00
Argyrios Kyrtzidis
91672b3c03
[libclang] Introduce clang_getPresumedLocation which works like clang_getExpansionLocation
...
but takes into account #line directives coming from preprocessed files.
Patch by Vinay Sajip!
llvm-svn: 139647
2011-09-13 21:49:08 +00:00
Argyrios Kyrtzidis
2cb4e3c554
[libclang]
...
-Allow cursor visitation of an attribute using its source range
-Add C++ 'final' and 'override' attributes as cursor kinds
-Simplify the logic that marks 'final' and 'override' attributes as tokens.
llvm-svn: 139609
2011-09-13 17:39:31 +00:00
Chandler Carruth
4aa01ef19c
Update libclang to have APIs corresponding to the new 'expansion' naming
...
system for macro-backed source locations. The old APIs are preserved for
legacy users.
This was intended to land with the main work of instantiation ->
expansion, but despite running it by Doug over a month ago, I forgot to
commit it. Very sorry for that...
llvm-svn: 138860
2011-08-31 16:53:37 +00:00
Douglas Gregor
2ed0ee1ace
Eliminate the -chained-pch flag and all of the frontend and libclang options associated with it. Chained PCH is the only way to build a PCH file that includes another PCH file
...
llvm-svn: 138597
2011-08-25 22:54:01 +00:00
Douglas Gregor
3f35bb2d15
Add a new libclang API to return a CXCompletionString for an arbitrary
...
cursor, from Connor Wakamo! Addresses <rdar://problem/9087798>.
llvm-svn: 136911
2011-08-04 20:04:59 +00:00
Ted Kremenek
fbcce6fba3
clang_getCXTUResourceUsage: report memory used by HeaderSearch.
...
This required converting the StringMaps to use a BumpPtrAllocator. I measured the
compile time and saw no observable regression.
llvm-svn: 136190
2011-07-26 23:46:11 +00:00
Ted Kremenek
120992ad81
clang_getCXTUResourceUsage: Report memory used by data structures in SourceManager.
...
llvm-svn: 136189
2011-07-26 23:46:06 +00:00
Douglas Gregor
ea777403f9
Add new libclang API, clang_codeCompleteGetObjCSelector(), which
...
provides the partial Objective-C selector used in a code
completion. From Connor Wakamo!
llvm-svn: 136084
2011-07-26 15:24:30 +00:00
Francois Pichet
ece689f336
Fix the MSVC build. 2 problems:
...
- buildPieces was return a C++ object from inside an extern "C". (MSVC didn't like that)
- clang_getCursorReferenceNameRange was missing a CINDEX_LINKAGE causing a link error.
llvm-svn: 135983
2011-07-25 22:00:44 +00:00
Douglas Gregor
c1679ecf3b
Added clang_getCursorReferenceNameRange to libclang to to retrieve parts of
...
a cursor reference, from Erik Verbruggen!
llvm-svn: 135920
2011-07-25 17:48:11 +00:00