summaryrefslogtreecommitdiffstats
path: root/clang/tools
diff options
context:
space:
mode:
authorSergey Kalinichev <kalinichev.so.0@gmail.com>2016-05-03 06:58:29 +0000
committerSergey Kalinichev <kalinichev.so.0@gmail.com>2016-05-03 06:58:29 +0000
commit69770aee36c0c6ca7dc54132ef253e27ba53e7cc (patch)
treeae8c813aeff31e2352f715abe4d86ce3ec2df52f /clang/tools
parent3fc0e668ff69bf4dfa8f431b06ba0dd7ef62c751 (diff)
downloadbcm5719-llvm-69770aee36c0c6ca7dc54132ef253e27ba53e7cc.tar.gz
bcm5719-llvm-69770aee36c0c6ca7dc54132ef253e27ba53e7cc.zip
[libclang] Expose the ElaboratedType
Differential Revision: http://reviews.llvm.org/D11797 llvm-svn: 268366
Diffstat (limited to 'clang/tools')
-rw-r--r--clang/tools/libclang/CXType.cpp12
-rw-r--r--clang/tools/libclang/libclang.exports1
2 files changed, 13 insertions, 0 deletions
diff --git a/clang/tools/libclang/CXType.cpp b/clang/tools/libclang/CXType.cpp
index 5cde2360552..fbe1edae2ab 100644
--- a/clang/tools/libclang/CXType.cpp
+++ b/clang/tools/libclang/CXType.cpp
@@ -91,6 +91,7 @@ static CXTypeKind GetTypeKind(QualType T) {
TKCASE(Vector);
TKCASE(MemberPointer);
TKCASE(Auto);
+ TKCASE(Elaborated);
default:
return CXType_Unexposed;
}
@@ -491,6 +492,7 @@ CXString clang_getTypeKindSpelling(enum CXTypeKind K) {
TKIND(Vector);
TKIND(MemberPointer);
TKIND(Auto);
+ TKIND(Elaborated);
}
#undef TKIND
return cxstring::createRef(s);
@@ -987,4 +989,14 @@ unsigned clang_Cursor_isAnonymous(CXCursor C){
return 0;
}
+CXType clang_Type_getNamedType(CXType CT){
+ QualType T = GetQualType(CT);
+ const Type *TP = T.getTypePtrOrNull();
+
+ if (TP && TP->getTypeClass() == Type::Elaborated)
+ return MakeCXType(cast<ElaboratedType>(TP)->getNamedType(), GetTU(CT));
+
+ return MakeCXType(QualType(), GetTU(CT));
+}
+
} // end: extern "C"
diff --git a/clang/tools/libclang/libclang.exports b/clang/tools/libclang/libclang.exports
index 14572f91544..c8fe0a21d09 100644
--- a/clang/tools/libclang/libclang.exports
+++ b/clang/tools/libclang/libclang.exports
@@ -87,6 +87,7 @@ clang_Type_getNumTemplateArguments
clang_Type_getTemplateArgumentAsType
clang_Type_getCXXRefQualifier
clang_Type_visitFields
+clang_Type_getNamedType
clang_VerbatimBlockLineComment_getText
clang_VerbatimLineComment_getText
clang_HTMLTagComment_getAsString
OpenPOWER on IntegriCloud