diff options
| author | Sergey Kalinichev <kalinichev.so.0@gmail.com> | 2016-05-03 06:58:29 +0000 |
|---|---|---|
| committer | Sergey Kalinichev <kalinichev.so.0@gmail.com> | 2016-05-03 06:58:29 +0000 |
| commit | 69770aee36c0c6ca7dc54132ef253e27ba53e7cc (patch) | |
| tree | ae8c813aeff31e2352f715abe4d86ce3ec2df52f /clang/tools/libclang | |
| parent | 3fc0e668ff69bf4dfa8f431b06ba0dd7ef62c751 (diff) | |
| download | bcm5719-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/libclang')
| -rw-r--r-- | clang/tools/libclang/CXType.cpp | 12 | ||||
| -rw-r--r-- | clang/tools/libclang/libclang.exports | 1 |
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 |

