diff options
Diffstat (limited to 'source/Symbol/ClangExternalASTSourceCallbacks.cpp')
-rw-r--r-- | source/Symbol/ClangExternalASTSourceCallbacks.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/Symbol/ClangExternalASTSourceCallbacks.cpp b/source/Symbol/ClangExternalASTSourceCallbacks.cpp index cd6972cce972..6c804f4d969c 100644 --- a/source/Symbol/ClangExternalASTSourceCallbacks.cpp +++ b/source/Symbol/ClangExternalASTSourceCallbacks.cpp @@ -41,6 +41,7 @@ #endif #include "lldb/Core/Log.h" +#include "clang/AST/Decl.h" using namespace clang; using namespace lldb_private; @@ -160,3 +161,16 @@ ClangExternalASTSourceCallbacks::layoutRecordType( return false; } +void +ClangExternalASTSourceCallbacks::FindExternalLexicalDecls (const clang::DeclContext *decl_ctx, + llvm::function_ref<bool(clang::Decl::Kind)> IsKindWeWant, + llvm::SmallVectorImpl<clang::Decl *> &decls) +{ + if (m_callback_tag_decl && decl_ctx) + { + clang::TagDecl *tag_decl = llvm::dyn_cast<clang::TagDecl>(const_cast<clang::DeclContext *>(decl_ctx)); + if (tag_decl) + CompleteType(tag_decl); + } +} + |