diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-08-05 22:41:45 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-08-05 22:41:45 +0000 |
| commit | 3cb15729aff241e28c9854bd09609fb74e7bac37 (patch) | |
| tree | a51bd54acbb78d140ec33b26f1779ad74c5bdf6e /clang/lib/Frontend/ChainedIncludesSource.cpp | |
| parent | ae0d4365454456203a6f284c5d0e6ed994883c86 (diff) | |
| download | bcm5719-llvm-3cb15729aff241e28c9854bd09609fb74e7bac37.tar.gz bcm5719-llvm-3cb15729aff241e28c9854bd09609fb74e7bac37.zip | |
function_ref-ize ExternalASTSource::FindExternalLexicalDecl and remove its
useless return value. Switch to using it directly when completing the
redeclaration chain for an anonymous declaration, and reduce the set of
declarations that we load in the process to just those of the right kind.
llvm-svn: 244161
Diffstat (limited to 'clang/lib/Frontend/ChainedIncludesSource.cpp')
| -rw-r--r-- | clang/lib/Frontend/ChainedIncludesSource.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/clang/lib/Frontend/ChainedIncludesSource.cpp b/clang/lib/Frontend/ChainedIncludesSource.cpp index cc0504ba8b2..5a5d2d55eda 100644 --- a/clang/lib/Frontend/ChainedIncludesSource.cpp +++ b/clang/lib/Frontend/ChainedIncludesSource.cpp @@ -47,9 +47,9 @@ protected: CXXBaseSpecifier *GetExternalCXXBaseSpecifiers(uint64_t Offset) override; bool FindExternalVisibleDeclsByName(const DeclContext *DC, DeclarationName Name) override; - ExternalLoadResult + void FindExternalLexicalDecls(const DeclContext *DC, - bool (*isKindWeWant)(Decl::Kind), + llvm::function_ref<bool(Decl::Kind)> IsKindWeWant, SmallVectorImpl<Decl *> &Result) override; void CompleteType(TagDecl *Tag) override; void CompleteType(ObjCInterfaceDecl *Class) override; @@ -246,11 +246,10 @@ ChainedIncludesSource::FindExternalVisibleDeclsByName(const DeclContext *DC, DeclarationName Name) { return getFinalReader().FindExternalVisibleDeclsByName(DC, Name); } -ExternalLoadResult -ChainedIncludesSource::FindExternalLexicalDecls(const DeclContext *DC, - bool (*isKindWeWant)(Decl::Kind), - SmallVectorImpl<Decl*> &Result) { - return getFinalReader().FindExternalLexicalDecls(DC, isKindWeWant, Result); +void ChainedIncludesSource::FindExternalLexicalDecls( + const DeclContext *DC, llvm::function_ref<bool(Decl::Kind)> IsKindWeWant, + SmallVectorImpl<Decl *> &Result) { + return getFinalReader().FindExternalLexicalDecls(DC, IsKindWeWant, Result); } void ChainedIncludesSource::CompleteType(TagDecl *Tag) { return getFinalReader().CompleteType(Tag); |

