summaryrefslogtreecommitdiff
path: root/source/Symbol/ClangExternalASTSourceCallbacks.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Symbol/ClangExternalASTSourceCallbacks.cpp')
-rw-r--r--source/Symbol/ClangExternalASTSourceCallbacks.cpp14
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);
+ }
+}
+