summaryrefslogtreecommitdiffstats
path: root/include/clang-c
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-12-07 20:44:19 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-12-07 20:44:19 +0000
commitb1febb646bf7a2f319ad894c9833968c52d21711 (patch)
tree7277ce2d6f037ba6288c750318dfb4a8e33ae7c9 /include/clang-c
parentb526a871af40b84d9878eded54a181bf4003b376 (diff)
[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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146069 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang-c')
-rw-r--r--include/clang-c/Index.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/clang-c/Index.h b/include/clang-c/Index.h
index 5d1e19ead0..dac8b54094 100644
--- a/include/clang-c/Index.h
+++ b/include/clang-c/Index.h
@@ -4199,7 +4199,12 @@ typedef struct {
const CXIdxEntityInfo *entityInfo;
CXCursor cursor;
CXIdxLoc loc;
- const CXIdxContainerInfo *container;
+ const CXIdxContainerInfo *semanticContainer;
+ /**
+ * \brief Generally same as \see semanticContainer but can be different in
+ * cases like out-of-line C++ member functions.
+ */
+ const CXIdxContainerInfo *lexicalContainer;
int isRedeclaration;
int isDefinition;
int isContainer;
@@ -4279,6 +4284,7 @@ typedef enum {
* \brief Data for \see indexEntityReference callback.
*/
typedef struct {
+ CXIdxEntityRefKind kind;
/**
* \brief Reference cursor.
*/
@@ -4303,7 +4309,6 @@ typedef struct {
* \brief Container context of the reference.
*/
const CXIdxContainerInfo *container;
- CXIdxEntityRefKind kind;
} CXIdxEntityRefInfo;
typedef struct {