From 9be86dc92da310d4924c73a7d50fea6fce1a6066 Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Tue, 18 Nov 2014 05:24:18 +0000 Subject: [PATCH] [ASTReader] Add a convenience function to retrieve all the input files of a module file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@222224 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Serialization/ASTReader.h | 4 ++++ lib/Serialization/ASTReader.cpp | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/include/clang/Serialization/ASTReader.h b/include/clang/Serialization/ASTReader.h index 447a6f4545..1b0347e91f 100644 --- a/include/clang/Serialization/ASTReader.h +++ b/include/clang/Serialization/ASTReader.h @@ -2147,6 +2147,10 @@ public: //RIDErief Loads comments ranges. void ReadComments() override; + + /// Return all input files for the given module file. + void getInputFiles(ModuleFile &F, + SmallVectorImpl &Files); }; /// \brief Helper class that saves the current stream position and diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp index 645a1a46b3..9c95a0cb26 100644 --- a/lib/Serialization/ASTReader.cpp +++ b/lib/Serialization/ASTReader.cpp @@ -8142,6 +8142,14 @@ void ASTReader::ReadComments() { } } +void ASTReader::getInputFiles(ModuleFile &F, + SmallVectorImpl &Files) { + for (unsigned I = 0, E = F.InputFilesLoaded.size(); I != E; ++I) { + unsigned ID = I+1; + Files.push_back(getInputFile(F, ID)); + } +} + std::string ASTReader::getOwningModuleNameForDiagnostic(const Decl *D) { // If we know the owning module, use it. if (Module *M = D->getOwningModule()) -- 2.40.0